diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..1dd301d99 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,29 @@ +#### Submission type + + - [ ] Bug report + - [ ] Feature Request + + +#### Info regarding which version of Calamares is used, which Distribution + +> … + +#### Provide information on how the disks are set up, in detail, with full logs of commands issued + +> … + +#### What do you expect to have happen when Calamares installs? + +> … + +#### Describe the issue you encountered + +> … + +#### Steps to reproduce the problem + +> … + +#### Include the installation.log: + +> … diff --git a/.gitmodules b/.gitmodules index 4fc249f44..e69de29bb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "thirdparty/libcrashreporter-qt"] - path = thirdparty/libcrashreporter-qt - url = https://github.com/dschmidt/libcrashreporter-qt diff --git a/.travis.yml b/.travis.yml index ec6678a36..0b18d927d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,9 +16,7 @@ notifications: install: - docker build -t calamares . - - pip install pycodestyle script: - docker run -v $PWD:/src --tmpfs /build:rw,size=65536k calamares bash -lc "cd /build && cmake -DWEBVIEW_FORCE_WEBKIT=1 -DKDE_INSTALL_USE_QT_SYS_PATHS=ON /src && make -j2 && make install DESTDIR=/build/INSTALL_ROOT" - - pycodestyle --exclude=thirdparty,.git $PWD diff --git a/AUTHORS b/AUTHORS index d9814373e..f39b579f4 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1 +1,2 @@ Teo Mrnjavac +Adriaan de Groot diff --git a/CMakeLists.txt b/CMakeLists.txt index 8358060ba..80d925b15 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,22 @@ -### CMakeLists.txt for Calamares +# === This file is part of Calamares - === +# +# Calamares is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Calamares is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Calamares. If not, see . +# +# SPDX-License-Identifier: GPL-3.0+ +# License-Filename: LICENSE +# +### # # Generally, this CMakeLists.txt will find all the dependencies for Calamares # and complain appropriately. See below (later in this file) for CMake-level @@ -11,7 +29,7 @@ # # cmake . -DSKIP_MODULES="partition luksbootkeycfg" -project( calamares CXX ) +project( calamares C CXX ) cmake_minimum_required( VERSION 3.2 ) @@ -30,7 +48,30 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) set( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" ) set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" ) - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded" ) + # Clang warnings: doing *everything* is counter-productive, since it warns + # about things which we can't fix (e.g. C++98 incompatibilities, but + # Calaares is C++14). + foreach( CLANG_WARNINGS + -Weverything + -Wno-c++98-compat + -Wno-c++98-compat-pedantic + -Wno-padded + -Wno-undefined-reinterpret-cast + -Wno-global-constructors + -Wno-exit-time-destructors + -Wno-missing-prototypes + -Wno-documentation-unknown-command + ) + string( APPEND CMAKE_CXX_FLAGS " ${CLANG_WARNINGS}" ) + endforeach() + + # Third-party code where we don't care so much about compiler warnings + # (because it's uncomfortable to patch) get different flags; use + # mark_thirdparty_code( [...] ) + # to switch off warnings for those sources. + set( SUPPRESS_3RDPARTY_WARNINGS "-Wno-everything" ) + set( SUPPRESS_BOOST_WARNINGS " -Wno-zero-as-null-pointer-constant -Wno-disabled-macro-expansion" ) + set( CMAKE_CXX_FLAGS_DEBUG "-g" ) set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" ) set( CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG" ) @@ -42,8 +83,19 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) else() set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-undefined" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--fatal-warnings -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type" ) + + set( SUPPRESS_3RDPARTY_WARNINGS "" ) + set( SUPPRESS_BOOST_WARNINGS "" ) endif() +macro(mark_thirdparty_code) + set_source_files_properties( ${ARGV} + PROPERTIES + COMPILE_FLAGS "${SUPPRESS_3RDPARTY_WARNINGS}" + COMPILE_DEFINITIONS "THIRDPARTY" + ) +endmacro() + if( CMAKE_COMPILER_IS_GNUCXX ) if( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.9 ) @@ -52,12 +104,7 @@ if( CMAKE_COMPILER_IS_GNUCXX ) endif() endif() -cmake_policy( SET CMP0023 OLD ) -cmake_policy( SET CMP0028 NEW ) # double colons in KF5::Foo and Qt5::Foo are necessarily IMPORTED or ALIAS targets, don't search further -cmake_policy( SET CMP0043 OLD ) - -include( MacroOptionalFindPackage ) -include( MacroLogFeature ) +include( FeatureSummary ) set( QT_VERSION 5.6.0 ) @@ -65,9 +112,8 @@ find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Core Gui Widgets LinguistTools S find_package( YAMLCPP 0.5.1 REQUIRED ) find_package( PolkitQt5-1 REQUIRED ) -option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON ) -option( WITH_CRASHREPORTER "Build with CrashReporter" ON ) option( INSTALL_CONFIG "Install configuration files" ON ) +option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON ) option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF ) option( BUILD_TESTING "Build the testing tree." ON ) @@ -75,40 +121,27 @@ if( BUILD_TESTING ) enable_testing() endif () -if( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libcrashreporter-qt/CMakeLists.txt" ) - message( STATUS "Build of crashreporter disabled." ) - set( WITH_CRASHREPORTER OFF ) -endif() - -macro_optional_find_package( PythonLibs 3.3 ) -macro_log_feature( - PYTHONLIBS_FOUND - "Python" - "C interface libraries for the Python 3 interpreter." - "http://python.org" - FALSE "3.3" - "Python 3 is used for some Calamares job modules." +find_package( PythonLibs 3.3 ) +set_package_properties( + PythonLibs PROPERTIES + DESCRIPTION "C interface libraries for the Python 3 interpreter." + URL "http://python.org" + PURPOSE "Python 3 is used for Python job modules." ) if ( PYTHONLIBS_FOUND ) include( BoostPython3 ) find_boost_python3( 1.54.0 ${PYTHONLIBS_VERSION_STRING} CALAMARES_BOOST_PYTHON3_FOUND ) - macro_log_feature( - CALAMARES_BOOST_PYTHON3_FOUND - "Boost.Python" - "A C++ library which enables seamless interoperability between C++ and Python 3." - "http://www.boost.org" - FALSE "1.54.0" - "Boost.Python is used for interfacing with Calamares job modules written in Python 3." + set_package_properties( + Boost PROPERTIES + PURPOSE "Boost.Python is used for Python job modules." ) - macro_optional_find_package( PythonQt ) - macro_log_feature( PYTHONQT_FOUND - "PythonQt" - "A Python embedding solution for Qt applications." - "http://pythonqt.sourceforge.net" - FALSE "3.1" - "PythonQt is used for the Python modules API." + find_package( PythonQt ) + set_package_properties( PythonQt PROPERTIES + DESCRIPTION "A Python embedding solution for Qt applications." + URL "http://pythonqt.sourceforge.net" + PURPOSE "PythonQt is used for Python view modules." ) endif() @@ -131,8 +164,8 @@ set( CALAMARES_TRANSLATION_LANGUAGES ar ast bg ca cs_CZ da de el en en_GB es_MX ### Bump version here set( CALAMARES_VERSION_MAJOR 3 ) set( CALAMARES_VERSION_MINOR 1 ) -set( CALAMARES_VERSION_PATCH 4 ) -set( CALAMARES_VERSION_RC 1 ) +set( CALAMARES_VERSION_PATCH 5 ) +set( CALAMARES_VERSION_RC 0 ) set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) set( CALAMARES_VERSION_SHORT "${CALAMARES_VERSION}" ) @@ -185,22 +218,68 @@ set( CALAMARES_LIBRARIES calamares ) set( THIRDPARTY_DIR "${CMAKE_SOURCE_DIR}/thirdparty" ) -add_subdirectory( thirdparty ) +### Example Distro +# +# For testing purposes Calamares includes a very, very, limited sample +# distro called "Generic". The root filesystem of "Generic" lives in +# data/example-root and can be squashed up as part of the build, so +# that a pure-upstream run of ./calamares -d from the build directory +# (with all the default settings and configurations) can actually +# do an complete example run. +# +# Some binaries from the build host (e.g. /bin and /lib) are also +# squashed into the example filesystem. +# +# To build the example distro (for use by the default, example, +# unsquashfs module), build the target 'example-distro', eg.: +# +# make example-distro +# +find_program( mksquashfs_PROGRAM mksquashfs ) +if( mksquashfs_PROGRAM ) + set( mksquashfs_FOUND ON ) + set( src_fs ${CMAKE_SOURCE_DIR}/data/example-root/ ) + set( dst_fs ${CMAKE_BINARY_DIR}/example.sqfs ) + if( EXISTS ${src_fs} ) + # based on the build host. If /lib64 exists, assume it is needed. + # Collect directories needed for a minimal binary distro, + # Note that the last path component is added to the root, so + # if you add /usr/sbin here, it will be put into /sbin_1. + # Add such paths to /etc/profile under ${src_fs}. + set( candidate_fs /sbin /bin /lib /lib64 ) + set( host_fs "" ) + foreach( c_fs ${candidate_fs} ) + if( EXISTS ${c_fs} ) + list( APPEND host_fs ${c_fs} ) + endif() + endforeach() + add_custom_command( + OUTPUT ${dst_fs} + COMMAND ${mksquashfs_PROGRAM} ${src_fs} ${dst_fs} -all-root + COMMAND ${mksquashfs_PROGRAM} ${host_fs} ${dst_fs} -all-root + ) + add_custom_target(example-distro DEPENDS ${dst_fs}) + endif() +else() + set( mksquashfs_FOUND OFF ) +endif() +# Doesn't list mksquashfs as an optional dep, though, because it +# hasn't been sent through the find_package() scheme. +set_package_properties( mksquashfs PROPERTIES + DESCRIPTION "Create squashed filesystems" + URL "http://tldp.org/HOWTO/SquashFS-HOWTO/creatingandusing.html" + PURPOSE "Create example distro" + TYPE OPTIONAL +) + +# add_subdirectory( thirdparty ) add_subdirectory( src ) -macro_display_feature_log() +add_feature_info(Python ${WITH_PYTHON} "Python job modules") +add_feature_info(PythonQt ${WITH_PYTHONQT} "Python view modules") +add_feature_info(Config ${INSTALL_CONFIG} "Install Calamares configuration") -if( NOT WITH_PYTHON ) - message( "-- WARNING: Building Calamares without Python support. Legacy Python job modules will not work.\n" ) -endif() -if( NOT WITH_PYTHONQT ) - message( "-- WARNING: Building Calamares without PythonQt support. Python modules will not work.\n" ) -endif() - - -if( NOT INSTALL_CONFIG ) - message( "-- WARNING: Configuration files will not be installed.\n" ) -endif() +feature_summary(WHAT ALL) # Add all targets to the build-tree export set set( CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/Calamares" CACHE PATH "Installation directory for CMake files" ) diff --git a/CMakeModules/BoostPython3.cmake b/CMakeModules/BoostPython3.cmake index e708defa4..c128b58f1 100644 --- a/CMakeModules/BoostPython3.cmake +++ b/CMakeModules/BoostPython3.cmake @@ -20,38 +20,50 @@ # "python-$dotsuffix", where suffix is based on the `python_version` argument. # One can supply a custom component name by setting the # `CALAMARES_BOOST_PYTHON3_COMPONENT` variable at CMake time. - set( CALAMARES_BOOST_PYTHON3_COMPONENT python3 CACHE STRING "Name of the Boost.Python component. If Boost.Python is installed as libboost_python-foo.so then this variable should be set to 'python-foo'." ) -macro( find_boost_python3 boost_version python_version found_var ) - set( ${found_var} OFF ) +include(FindPackageHandleStandardArgs) - # turns "3.4.123abc" into "34" - string( REGEX REPLACE "([0-9]+)\\.([0-9]+)\\..*" "\\1\\2" _fbp_python_short_version ${python_version} ) - - foreach( _fbp_name ${CALAMARES_BOOST_PYTHON3_COMPONENT} python-py${_fbp_python_short_version} ) +macro( _find_boost_python3_int boost_version componentname found_var ) + foreach( _fbp_name ${CALAMARES_BOOST_PYTHON3_COMPONENT} ${componentname} ) find_package( Boost ${boost_version} QUIET COMPONENTS ${_fbp_name} ) string( TOUPPER ${_fbp_name} _fbp_uc_name ) if( Boost_${_fbp_uc_name}_FOUND ) - set( ${found_var} ON ) + set( ${found_var} ${_fbp_uc_name} ) break() endif() endforeach() +endmacro() - if (NOT ${found_var}) +macro( find_boost_python3 boost_version python_version found_var ) + set( ${found_var} OFF ) + set( _fbp_found OFF ) + + # turns "3.4.123abc" into "34" + string( REGEX REPLACE "([0-9]+)\\.([0-9]+)\\..*" "\\1\\2" _fbp_python_short_version ${python_version} ) + _find_boost_python3_int( ${boost_version} python-py${_fbp_python_short_version} _fbp_found ) + + if (NOT _fbp_found) # The following loop changes the searched name for Gentoo based distributions # turns "3.4.123abc" into "3.4" string( REGEX REPLACE "([0-9]+)\\.([0-9]+)\\..*" "\\1.\\2" _fbp_python_short_version ${python_version} ) - foreach( _fbp_name ${CALAMARES_BOOST_PYTHON3_COMPONENT} python-${_fbp_python_short_version} ) - find_package( Boost ${boost_version} QUIET COMPONENTS ${_fbp_name} ) - string( TOUPPER ${_fbp_name} _fbp_uc_name ) - if( Boost_${_fbp_uc_name}_FOUND ) - set( ${found_var} ON ) - break() - endif() - endforeach() + _find_boost_python3_int( ${boost_version} python-${_fbp_python_short_version} _fbp_found ) endif() + + set( ${found_var} ${_fbp_found} ) + + # This is superfluous, but allows proper reporting in the features list + if ( _fbp_found ) + find_package( Boost ${boost_version} COMPONENTS ${_fbp_found} ) + else() + find_package( Boost ${boost_version} COMPONENTS Python ) + endif() + set_package_properties( + Boost PROPERTIES + DESCRIPTION "A C++ library which enables seamless interoperability between C++ and Python 3." + URL "http://www.boost.org" + ) endmacro() diff --git a/CMakeModules/CalamaresAddLibrary.cmake b/CMakeModules/CalamaresAddLibrary.cmake index a774b1f31..f183277c8 100644 --- a/CMakeModules/CalamaresAddLibrary.cmake +++ b/CMakeModules/CalamaresAddLibrary.cmake @@ -45,9 +45,6 @@ function(calamares_add_library) add_library(${target} SHARED ${LIBRARY_SOURCES}) endif() - # HACK: add qt modules - every lib should define its own set of modules - qt5_use_modules(${target} Core Gui Widgets ${LIBRARY_QT5_MODULES}) - # definitions - can this be moved into set_target_properties below? add_definitions(${QT_DEFINITIONS}) set_target_properties(${target} PROPERTIES AUTOMOC TRUE) @@ -67,9 +64,15 @@ function(calamares_add_library) endif() # add link targets - target_link_libraries(${target} ${CALAMARES_LIBRARIES}) + target_link_libraries(${target} + LINK_PUBLIC ${CALAMARES_LIBRARIES} + Qt5::Core + Qt5::Gui + Qt5::Widgets + ${LIBRARY_QT5_MODULES} + ) if(LIBRARY_LINK_LIBRARIES) - target_link_libraries(${target} ${LIBRARY_LINK_LIBRARIES}) + target_link_libraries(${target} LINK_PUBLIC ${LIBRARY_LINK_LIBRARIES}) endif() if(LIBRARY_LINK_PRIVATE_LIBRARIES) target_link_libraries(${target} LINK_PRIVATE ${LIBRARY_LINK_PRIVATE_LIBRARIES}) diff --git a/CMakeModules/FindCrypt.cmake b/CMakeModules/FindCrypt.cmake index 293228e6f..d17d70178 100644 --- a/CMakeModules/FindCrypt.cmake +++ b/CMakeModules/FindCrypt.cmake @@ -5,19 +5,30 @@ # LIBCRYPT_LIBRARY, the path to libcrypt # LIBCRYPT_FOUND, whether libcrypt was found +if( CMAKE_SYSTEM MATCHES "FreeBSD" ) + # FreeBSD has crypt(3) declared in unistd.h, which lives in + # libc; the libcrypt found here is not used. + find_path( CRYPT_INCLUDE_DIR NAMES unistd.h ) + add_definitions( -DNO_CRYPT_H ) +else() + find_path( CRYPT_INCLUDE_DIR + NAMES crypt.h + HINTS + ${CMAKE_INSTALL_INCLUDEDIR} + NO_CACHE + ) +endif() -find_path( CRYPT_INCLUDE_DIR NAMES crypt.h - HINTS - ${CMAKE_INSTALL_INCLUDEDIR} -) - -find_library( CRYPT_LIBRARIES NAMES crypt +find_library( CRYPT_LIBRARIES + NAMES crypt HINTS ${CMAKE_INSTALL_LIBDIR} ) include( FindPackageHandleStandardArgs ) -find_package_handle_standard_args( Crypt - REQUIRED_VARS CRYPT_LIBRARIES CRYPT_INCLUDE_DIR ) +find_package_handle_standard_args( + Crypt + REQUIRED_VARS CRYPT_LIBRARIES CRYPT_INCLUDE_DIR +) mark_as_advanced( CRYPT_INCLUDE_DIR CRYPT_LIBRARIES ) diff --git a/CMakeModules/MacroLogFeature.cmake b/CMakeModules/MacroLogFeature.cmake deleted file mode 100644 index 45e27b6df..000000000 --- a/CMakeModules/MacroLogFeature.cmake +++ /dev/null @@ -1,157 +0,0 @@ -# This file defines the Feature Logging macros. -# -# MACRO_LOG_FEATURE(VAR FEATURE DESCRIPTION URL [REQUIRED [MIN_VERSION [COMMENTS]]]) -# Logs the information so that it can be displayed at the end -# of the configure run -# VAR : TRUE or FALSE, indicating whether the feature is supported -# FEATURE: name of the feature, e.g. "libjpeg" -# DESCRIPTION: description what this feature provides -# URL: home page -# REQUIRED: TRUE or FALSE, indicating whether the featue is required -# MIN_VERSION: minimum version number. empty string if unneeded -# COMMENTS: More info you may want to provide. empty string if unnecessary -# -# MACRO_DISPLAY_FEATURE_LOG() -# Call this to display the collected results. -# Exits CMake with a FATAL error message if a required feature is missing -# -# Example: -# -# INCLUDE(MacroLogFeature) -# -# FIND_PACKAGE(JPEG) -# MACRO_LOG_FEATURE(JPEG_FOUND "libjpeg" "Support JPEG images" "http://www.ijg.org" TRUE "3.2a" "") -# ... -# MACRO_DISPLAY_FEATURE_LOG() - -# Copyright (c) 2006, Alexander Neundorf, -# Copyright (c) 2006, Allen Winter, -# Copyright (c) 2009, Sebastian Trueg, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -IF (NOT _macroLogFeatureAlreadyIncluded) - SET(_file ${CMAKE_BINARY_DIR}/MissingRequirements.txt) - IF (EXISTS ${_file}) - FILE(REMOVE ${_file}) - ENDIF (EXISTS ${_file}) - - SET(_file ${CMAKE_BINARY_DIR}/EnabledFeatures.txt) - IF (EXISTS ${_file}) - FILE(REMOVE ${_file}) - ENDIF (EXISTS ${_file}) - - SET(_file ${CMAKE_BINARY_DIR}/DisabledFeatures.txt) - IF (EXISTS ${_file}) - FILE(REMOVE ${_file}) - ENDIF (EXISTS ${_file}) - - SET(_macroLogFeatureAlreadyIncluded TRUE) - - INCLUDE(FeatureSummary) - -ENDIF (NOT _macroLogFeatureAlreadyIncluded) - - -MACRO(MACRO_LOG_FEATURE _var _package _description _url ) # _required _minvers _comments) - - STRING(TOUPPER "${ARGV4}" _required) - SET(_minvers "${ARGV5}") - SET(_comments "${ARGV6}") - - IF (${_var}) - SET(_LOGFILENAME ${CMAKE_BINARY_DIR}/EnabledFeatures.txt) - ELSE (${_var}) - IF ("${_required}" STREQUAL "TRUE") - SET(_LOGFILENAME ${CMAKE_BINARY_DIR}/MissingRequirements.txt) - ELSE ("${_required}" STREQUAL "TRUE") - SET(_LOGFILENAME ${CMAKE_BINARY_DIR}/DisabledFeatures.txt) - ENDIF ("${_required}" STREQUAL "TRUE") - ENDIF (${_var}) - - SET(_logtext " * ${_package}") - - IF (NOT ${_var}) - IF (${_minvers} MATCHES ".*") - SET(_logtext "${_logtext} (${_minvers} or higher)") - ENDIF (${_minvers} MATCHES ".*") - SET(_logtext "${_logtext} <${_url}>\n ") - ELSE (NOT ${_var}) - SET(_logtext "${_logtext} - ") - ENDIF (NOT ${_var}) - - SET(_logtext "${_logtext}${_description}") - - IF (NOT ${_var}) - IF (${_comments} MATCHES ".*") - SET(_logtext "${_logtext}\n ${_comments}") - ENDIF (${_comments} MATCHES ".*") -# SET(_logtext "${_logtext}\n") #double-space missing features? - ENDIF (NOT ${_var}) - - FILE(APPEND "${_LOGFILENAME}" "${_logtext}\n") - - IF(COMMAND SET_PACKAGE_INFO) # in FeatureSummary.cmake since CMake 2.8.3 - SET_PACKAGE_INFO("${_package}" "\"${_description}\"" "${_url}" "\"${_comments}\"") - ENDIF(COMMAND SET_PACKAGE_INFO) - -ENDMACRO(MACRO_LOG_FEATURE) - - -MACRO(MACRO_DISPLAY_FEATURE_LOG) - IF(COMMAND FEATURE_SUMMARY) # in FeatureSummary.cmake since CMake 2.8.3 - FEATURE_SUMMARY(FILENAME ${CMAKE_CURRENT_BINARY_DIR}/FindPackageLog.txt - WHAT ALL) - ENDIF(COMMAND FEATURE_SUMMARY) - - SET(_missingFile ${CMAKE_BINARY_DIR}/MissingRequirements.txt) - SET(_enabledFile ${CMAKE_BINARY_DIR}/EnabledFeatures.txt) - SET(_disabledFile ${CMAKE_BINARY_DIR}/DisabledFeatures.txt) - - IF (EXISTS ${_missingFile} OR EXISTS ${_enabledFile} OR EXISTS ${_disabledFile}) - SET(_printSummary TRUE) - ENDIF (EXISTS ${_missingFile} OR EXISTS ${_enabledFile} OR EXISTS ${_disabledFile}) - - IF(_printSummary) - SET(_missingDeps 0) - IF (EXISTS ${_enabledFile}) - FILE(READ ${_enabledFile} _enabled) - FILE(REMOVE ${_enabledFile}) - SET(_summary "${_summary}\n-----------------------------------------------------------------------------\n-- The following external packages were located on your system.\n-- This installation will have the extra features provided by these packages.\n-----------------------------------------------------------------------------\n${_enabled}") - ENDIF (EXISTS ${_enabledFile}) - - - IF (EXISTS ${_disabledFile}) - SET(_missingDeps 1) - FILE(READ ${_disabledFile} _disabled) - FILE(REMOVE ${_disabledFile}) - SET(_summary "${_summary}\n-----------------------------------------------------------------------------\n-- The following OPTIONAL packages could NOT be located on your system.\n-- Consider installing them to enable more features from this software.\n-----------------------------------------------------------------------------\n${_disabled}") - ENDIF (EXISTS ${_disabledFile}) - - - IF (EXISTS ${_missingFile}) - SET(_missingDeps 1) - FILE(READ ${_missingFile} _requirements) - SET(_summary "${_summary}\n-----------------------------------------------------------------------------\n-- The following REQUIRED packages could NOT be located on your system.\n-- You must install these packages before continuing.\n-----------------------------------------------------------------------------\n${_requirements}") - FILE(REMOVE ${_missingFile}) - SET(_haveMissingReq 1) - ENDIF (EXISTS ${_missingFile}) - - - IF (NOT ${_missingDeps}) - SET(_summary "${_summary}\n-----------------------------------------------------------------------------\n-- Congratulations! All external packages have been found.") - ENDIF (NOT ${_missingDeps}) - - - MESSAGE(${_summary}) - MESSAGE("-----------------------------------------------------------------------------\n") - - - IF(_haveMissingReq) - MESSAGE(FATAL_ERROR "Exiting: Missing Requirements") - ENDIF(_haveMissingReq) - - ENDIF(_printSummary) - -ENDMACRO(MACRO_DISPLAY_FEATURE_LOG) diff --git a/CMakeModules/MacroOptionalFindPackage.cmake b/CMakeModules/MacroOptionalFindPackage.cmake deleted file mode 100644 index d4ed48e33..000000000 --- a/CMakeModules/MacroOptionalFindPackage.cmake +++ /dev/null @@ -1,48 +0,0 @@ -# - MACRO_OPTIONAL_FIND_PACKAGE() combines FIND_PACKAGE() with an OPTION() -# MACRO_OPTIONAL_FIND_PACKAGE( [QUIT] ) -# This macro is a combination of OPTION() and FIND_PACKAGE(), it -# works like FIND_PACKAGE(), but additionally it automatically creates -# an option name WITH_, which can be disabled via the cmake GUI. -# or via -DWITH_=OFF -# The standard _FOUND variables can be used in the same way -# as when using the normal FIND_PACKAGE() - -# Copyright (c) 2006-2010 Alexander Neundorf, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -# This is just a helper macro to set a bunch of variables empty. -# We don't know whether the package uses UPPERCASENAME or CamelCaseName, so we try both: -macro(_MOFP_SET_EMPTY_IF_DEFINED _name _var) - if(DEFINED ${_name}_${_var}) - set(${_name}_${_var} "") - endif(DEFINED ${_name}_${_var}) - - string(TOUPPER ${_name} _nameUpper) - if(DEFINED ${_nameUpper}_${_var}) - set(${_nameUpper}_${_var} "") - endif(DEFINED ${_nameUpper}_${_var}) -endmacro(_MOFP_SET_EMPTY_IF_DEFINED _package _var) - - -macro (MACRO_OPTIONAL_FIND_PACKAGE _name ) - option(WITH_${_name} "Search for ${_name} package" ON) - if (WITH_${_name}) - find_package(${_name} ${ARGN}) - else (WITH_${_name}) - string(TOUPPER ${_name} _nameUpper) - set(${_name}_FOUND FALSE) - set(${_nameUpper}_FOUND FALSE) - - _mofp_set_empty_if_defined(${_name} INCLUDE_DIRS) - _mofp_set_empty_if_defined(${_name} INCLUDE_DIR) - _mofp_set_empty_if_defined(${_name} INCLUDES) - _mofp_set_empty_if_defined(${_name} LIBRARY) - _mofp_set_empty_if_defined(${_name} LIBRARIES) - _mofp_set_empty_if_defined(${_name} LIBS) - _mofp_set_empty_if_defined(${_name} FLAGS) - _mofp_set_empty_if_defined(${_name} DEFINITIONS) - endif (WITH_${_name}) -endmacro (MACRO_OPTIONAL_FIND_PACKAGE) - diff --git a/LICENSES/GPLv3+-ImageRegistry b/LICENSES/GPLv3+-ImageRegistry new file mode 100644 index 000000000..362e89766 --- /dev/null +++ b/LICENSES/GPLv3+-ImageRegistry @@ -0,0 +1,16 @@ +/* + * Copyright 2012, Christian Muehlhaeuser + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ diff --git a/LICENSES/GPLv3+-QJsonModel b/LICENSES/GPLv3+-QJsonModel new file mode 100644 index 000000000..8a8e272c0 --- /dev/null +++ b/LICENSES/GPLv3+-QJsonModel @@ -0,0 +1,18 @@ +/*********************************************** + Copyright (C) 2014 Schutz Sacha + This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). + + QJsonModel is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QJsonModel is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QJsonModel. If not, see . + +**********************************************/ diff --git a/LICENSES/LGPLv2.1-Presentation b/LICENSES/LGPLv2.1-Presentation new file mode 100644 index 000000000..1bb6461eb --- /dev/null +++ b/LICENSES/LGPLv2.1-Presentation @@ -0,0 +1,83 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QML Presentation System. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QML Presentation System. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + diff --git a/LICENSES/LGPLv2.1-Presentation-Exception b/LICENSES/LGPLv2.1-Presentation-Exception new file mode 100644 index 000000000..7e2e30ff9 --- /dev/null +++ b/LICENSES/LGPLv2.1-Presentation-Exception @@ -0,0 +1,22 @@ +Digia Qt LGPL Exception version 1.1 + +As an additional permission to the GNU Lesser General Public License version +2.1, the object code form of a "work that uses the Library" may incorporate +material from a header file that is part of the Library. You may distribute +such object code under terms of your choice, provided that: + (i) the header files of the Library have not been modified; and + (ii) the incorporated material is limited to numerical parameters, data + structure layouts, accessors, macros, inline functions and + templates; and + (iii) you comply with the terms of Section 6 of the GNU Lesser General + Public License version 2.1. + +Moreover, you may apply this exception to a modified version of the Library, +provided that such modification does not involve copying material from the +Library into the modified Library's header files unless such material is +limited to (i) numerical parameters; (ii) data structure layouts; +(iii) accessors; and (iv) small macros, templates and inline functions of +five lines or less in length. + +Furthermore, you are not required to apply this additional permission to a +modified version of the Library. diff --git a/LICENSES/MIT-QtWaitingSpinner b/LICENSES/MIT-QtWaitingSpinner new file mode 100644 index 000000000..c85c97aeb --- /dev/null +++ b/LICENSES/MIT-QtWaitingSpinner @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Original Work Copyright (c) 2012-2015 Alexander Turkin +Modified 2014 by William Hallatt + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index e30b67155..dcb5e3b67 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![Coverity Scan Build Status](https://scan.coverity.com/projects/5389/badge.svg)](https://scan.coverity.com/projects/5389) [![GitHub license](https://img.shields.io/github/license/calamares/calamares.svg)](https://github.com/calamares/calamares/blob/master/LICENSE) -| [Report a Bug](https://calamares.io/bugs/) | [Contribute](https://github.com/calamares/calamares/blob/master/HACKING.md) | [Translate](https://www.transifex.com/projects/p/calamares/) | Freenode (IRC): #calamares | [Wiki](https://github.com/calamares/calamares/wiki) | +| [Report a Bug](https://github.com/calamares/calamares/issues/new) | [Contribute](https://github.com/calamares/calamares/blob/master/ci/HACKING.md) | [Translate](https://www.transifex.com/projects/p/calamares/) | Freenode (IRC): #calamares | [Wiki](https://github.com/calamares/calamares/wiki) | |:-----------------------------------------:|:----------------------:|:-----------------------:|:--------------------------:|:--------------------------:| ### Dependencies diff --git a/calamares.desktop b/calamares.desktop index 4f288884e..2dcc78fd2 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -13,10 +13,6 @@ StartupNotify=true Categories=Qt;System; -# Translations - - -# Translations Name[ca]=Calamares Icon[ca]=calamares GenericName[ca]=Instal·lador de sistema @@ -49,10 +45,18 @@ Name[hr]=Calamares Icon[hr]=calamares GenericName[hr]=Instalacija sustava Comment[hr]=Calamares — Instalacija sustava +Name[hu]=Calamares +Icon[hu]=calamares +GenericName[hu]=Rendszer Telepítő +Comment[hu]=Calamares — Rendszer Telepítő Name[id]=Calamares Icon[id]=calamares GenericName[id]=Pemasang Comment[id]=Calamares — Pemasang Sistem +Name[is]=Calamares +Icon[is]=calamares +GenericName[is]=Kerfis uppsetning +Comment[is]=Calamares — Kerfis uppsetning Name[ja]=Calamares Icon[ja]=calamares GenericName[ja]=システムインストーラー diff --git a/HACKING.md b/ci/HACKING.md similarity index 100% rename from HACKING.md rename to ci/HACKING.md diff --git a/hacking/RELEASE.md b/ci/RELEASE.md similarity index 92% rename from hacking/RELEASE.md rename to ci/RELEASE.md index d462ae47b..640a91156 100644 --- a/hacking/RELEASE.md +++ b/ci/RELEASE.md @@ -30,11 +30,6 @@ The Calamares release process * Check `README.md` and everything in `hacking`, make sure it's all still relevant. Run `hacking/calamaresstyle` to check the C++ code style. Python code is checked as part of the Travis CI builds. -* Update submodules. - ``` - git submodule # Note list of submodules - git submodule update thirdparty/libcrashreporter-qt - ``` * Check defaults in `settings.conf` and other configuration files. * Pull latest translations from Transifex. This is done nightly on Jenkins, so a manual pull is rarely necessary. @@ -43,8 +38,13 @@ The Calamares release process fairly complete translations. #### (2) Tarball -* Create tarball: `git-archive-all -v calamares-1.1-rc1.tar.gz` . Double check - that the tarball matches the version number. +* Create tarball: `git-archive-all -v calamares-1.1-rc1.tar.gz` or without + the helper script, + ``` + V=calamares-3.1.5 + git archive -o $V.tar.gz --prefix $V/ master + ``` + Double check that the tarball matches the version number. * Test tarball. #### (3) Tag diff --git a/hacking/astylerc b/ci/astylerc similarity index 100% rename from hacking/astylerc rename to ci/astylerc diff --git a/hacking/calamaresstyle b/ci/calamaresstyle similarity index 100% rename from hacking/calamaresstyle rename to ci/calamaresstyle diff --git a/ci/txpull.sh b/ci/txpull.sh index 6c5b20b2b..53a0deaa4 100755 --- a/ci/txpull.sh +++ b/ci/txpull.sh @@ -43,6 +43,14 @@ BOILERPLATE="Automatic merge of Transifex translations" git add --verbose lang/calamares*.ts git commit "$AUTHOR" --message="[core] $BOILERPLATE" | true +rm -f lang/desktop*.desktop +awk ' + BEGIN {skip=0;} + /^# Translations/ {skip=1;} + {if (!skip || (length($0)>1 && $0 != "# Translations")) { + skip=0; print $0; + }}' < calamares.desktop > calamares.desktop.new +mv calamares.desktop.new calamares.desktop git add --verbose calamares.desktop git commit "$AUTHOR" --message="[desktop] $BOILERPLATE" | true @@ -60,6 +68,7 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do if [ -d ${MODULE_DIR}/lang ]; then # Convert PO files to MO files for POFILE in $(find ${MODULE_DIR} -name "*.po") ; do + sed -i'' '/^"Content-Type/s/CHARSET/UTF-8/' $POFILE msgfmt -o ${POFILE%.po}.mo $POFILE done git add --verbose ${MODULE_DIR}/lang/* @@ -69,6 +78,7 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do done for POFILE in $(find lang -name "python.po") ; do + sed -i'' '/^"Content-Type/s/CHARSET/UTF-8/' $POFILE msgfmt -o ${POFILE%.po}.mo $POFILE done git add --verbose lang/python* diff --git a/ci/txpush.sh b/ci/txpush.sh index 5ec2c0614..fe6d7170f 100755 --- a/ci/txpush.sh +++ b/ci/txpush.sh @@ -47,11 +47,7 @@ tx push --source --no-interactive -r calamares.fdo # - python modules without lang/, which use one shared catalog # -# Arch -# PYGETTEXT=/usr/lib/python3.5/Tools/i18n/pygettext.py - -# Ubuntu -PYGETTEXT=pygettext3 +PYGETTEXT="xgettext --keyword=_n:1,2 -L python" SHARED_PYTHON="" for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do @@ -59,9 +55,11 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do if test -n "$FILES" ; then MODULE_NAME=$(basename ${MODULE_DIR}) if [ -d ${MODULE_DIR}/lang ]; then - ${PYGETTEXT} -p ${MODULE_DIR}/lang -d ${MODULE_NAME} ${MODULE_DIR}/*.py - if [ -f ${MODULE_DIR}/lang/${MODULE_NAME}.pot ]; then - tx set -r calamares.${MODULE_NAME} --source -l en ${MODULE_DIR}/lang/${MODULE_NAME}.pot + ${PYGETTEXT} -p ${MODULE_DIR}/lang -d ${MODULE_NAME} -o ${MODULE_NAME}.pot ${MODULE_DIR}/*.py + POTFILE="${MODULE_DIR}/lang/${MODULE_NAME}.pot" + if [ -f "$POTFILE" ]; then + sed -i'' '/^"Content-Type/s/CHARSET/UTF-8/' "$POTFILE" + tx set -r calamares.${MODULE_NAME} --source -l en "$POTFILE" tx push --source --no-interactive -r calamares.${MODULE_NAME} fi else @@ -71,7 +69,9 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do done if test -n "$SHARED_PYTHON" ; then - ${PYGETTEXT} -p lang -d python $SHARED_PYTHON - tx set -r calamares.python --source -l en lang/python.pot + ${PYGETTEXT} -p lang -d python -o python.pot $SHARED_PYTHON + POTFILE="lang/python.pot" + sed -i'' '/^"Content-Type/s/CHARSET/UTF-8/' "$POTFILE" + tx set -r calamares.python --source -l en "$POTFILE" tx push --source --no-interactive -r calamares.python fi diff --git a/data/example-root/README.md b/data/example-root/README.md new file mode 100644 index 000000000..7173b3eaf --- /dev/null +++ b/data/example-root/README.md @@ -0,0 +1,11 @@ +# Example Filesystem + +This is a filesystem that will be used as / in an example distro, +*if* you build the `example-distro` target and use the default +unpackfs configuration. It should hold files and configuration +bits that need to be on the target system for example purposes. + +It should *not* have a bin/, lib/, sbin/ or lib64/ directory, +since those are copied into the example-distro filesystem +from the build host. + diff --git a/data/example-root/etc/bash.bashrc b/data/example-root/etc/bash.bashrc new file mode 100644 index 000000000..42bd3d007 --- /dev/null +++ b/data/example-root/etc/bash.bashrc @@ -0,0 +1,2 @@ +# Global .profile -- add /sbin_1 +PATH=$PATH:/sbin_1:/xbin diff --git a/data/example-root/etc/group b/data/example-root/etc/group new file mode 100644 index 000000000..1dbf9013e --- /dev/null +++ b/data/example-root/etc/group @@ -0,0 +1 @@ +root:x:0: diff --git a/data/example-root/etc/issue b/data/example-root/etc/issue new file mode 100644 index 000000000..ce0ac58e3 --- /dev/null +++ b/data/example-root/etc/issue @@ -0,0 +1 @@ +This is an example /etc/issue file. diff --git a/data/example-root/etc/locale.gen b/data/example-root/etc/locale.gen new file mode 100644 index 000000000..5e729a18d --- /dev/null +++ b/data/example-root/etc/locale.gen @@ -0,0 +1,486 @@ +# This file lists locales that you wish to have built. You can find a list +# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add +# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change +# this file, you need to rerun locale-gen. + + +# aa_DJ ISO-8859-1 +# aa_DJ.UTF-8 UTF-8 +# aa_ER UTF-8 +# aa_ER@saaho UTF-8 +# aa_ET UTF-8 +# af_ZA ISO-8859-1 +# af_ZA.UTF-8 UTF-8 +# ak_GH UTF-8 +# am_ET UTF-8 +# an_ES ISO-8859-15 +# an_ES.UTF-8 UTF-8 +# anp_IN UTF-8 +# ar_AE ISO-8859-6 +# ar_AE.UTF-8 UTF-8 +# ar_BH ISO-8859-6 +# ar_BH.UTF-8 UTF-8 +# ar_DZ ISO-8859-6 +# ar_DZ.UTF-8 UTF-8 +# ar_EG ISO-8859-6 +# ar_EG.UTF-8 UTF-8 +# ar_IN UTF-8 +# ar_IQ ISO-8859-6 +# ar_IQ.UTF-8 UTF-8 +# ar_JO ISO-8859-6 +# ar_JO.UTF-8 UTF-8 +# ar_KW ISO-8859-6 +# ar_KW.UTF-8 UTF-8 +# ar_LB ISO-8859-6 +# ar_LB.UTF-8 UTF-8 +# ar_LY ISO-8859-6 +# ar_LY.UTF-8 UTF-8 +# ar_MA ISO-8859-6 +# ar_MA.UTF-8 UTF-8 +# ar_OM ISO-8859-6 +# ar_OM.UTF-8 UTF-8 +# ar_QA ISO-8859-6 +# ar_QA.UTF-8 UTF-8 +# ar_SA ISO-8859-6 +# ar_SA.UTF-8 UTF-8 +# ar_SD ISO-8859-6 +# ar_SD.UTF-8 UTF-8 +# ar_SS UTF-8 +# ar_SY ISO-8859-6 +# ar_SY.UTF-8 UTF-8 +# ar_TN ISO-8859-6 +# ar_TN.UTF-8 UTF-8 +# ar_YE ISO-8859-6 +# ar_YE.UTF-8 UTF-8 +# as_IN UTF-8 +# ast_ES ISO-8859-15 +# ast_ES.UTF-8 UTF-8 +# ayc_PE UTF-8 +# az_AZ UTF-8 +# be_BY CP1251 +# be_BY.UTF-8 UTF-8 +# be_BY@latin UTF-8 +# bem_ZM UTF-8 +# ber_DZ UTF-8 +# ber_MA UTF-8 +# bg_BG CP1251 +# bg_BG.UTF-8 UTF-8 +# bhb_IN.UTF-8 UTF-8 +# bho_IN UTF-8 +# bn_BD UTF-8 +# bn_IN UTF-8 +# bo_CN UTF-8 +# bo_IN UTF-8 +# br_FR ISO-8859-1 +# br_FR.UTF-8 UTF-8 +# br_FR@euro ISO-8859-15 +# brx_IN UTF-8 +# bs_BA ISO-8859-2 +# bs_BA.UTF-8 UTF-8 +# byn_ER UTF-8 +# ca_AD ISO-8859-15 +# ca_AD.UTF-8 UTF-8 +# ca_ES ISO-8859-1 +# ca_ES.UTF-8 UTF-8 +# ca_ES.UTF-8@valencia UTF-8 +# ca_ES@euro ISO-8859-15 +# ca_ES@valencia ISO-8859-15 +# ca_FR ISO-8859-15 +# ca_FR.UTF-8 UTF-8 +# ca_IT ISO-8859-15 +# ca_IT.UTF-8 UTF-8 +# ce_RU UTF-8 +# ckb_IQ UTF-8 +# cmn_TW UTF-8 +# crh_UA UTF-8 +# cs_CZ ISO-8859-2 +# cs_CZ.UTF-8 UTF-8 +# csb_PL UTF-8 +# cv_RU UTF-8 +# cy_GB ISO-8859-14 +# cy_GB.UTF-8 UTF-8 +# da_DK ISO-8859-1 +# da_DK.UTF-8 UTF-8 +# de_AT ISO-8859-1 +# de_AT.UTF-8 UTF-8 +# de_AT@euro ISO-8859-15 +# de_BE ISO-8859-1 +# de_BE.UTF-8 UTF-8 +# de_BE@euro ISO-8859-15 +# de_CH ISO-8859-1 +# de_CH.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE.UTF-8 UTF-8 +# de_DE@euro ISO-8859-15 +# de_LI.UTF-8 UTF-8 +# de_LU ISO-8859-1 +# de_LU.UTF-8 UTF-8 +# de_LU@euro ISO-8859-15 +# doi_IN UTF-8 +# dv_MV UTF-8 +# dz_BT UTF-8 +# el_CY ISO-8859-7 +# el_CY.UTF-8 UTF-8 +# el_GR ISO-8859-7 +# el_GR.UTF-8 UTF-8 +# en_AG UTF-8 +# en_AU ISO-8859-1 +# en_AU.UTF-8 UTF-8 +# en_BW ISO-8859-1 +# en_BW.UTF-8 UTF-8 +# en_CA ISO-8859-1 +en_CA.UTF-8 UTF-8 +# en_DK ISO-8859-1 +# en_DK.ISO-8859-15 ISO-8859-15 +# en_DK.UTF-8 UTF-8 +# en_GB ISO-8859-1 +# en_GB.ISO-8859-15 ISO-8859-15 +# en_GB.UTF-8 UTF-8 +# en_HK ISO-8859-1 +# en_HK.UTF-8 UTF-8 +# en_IE ISO-8859-1 +# en_IE.UTF-8 UTF-8 +# en_IE@euro ISO-8859-15 +# en_IN UTF-8 +# en_NG UTF-8 +# en_NZ ISO-8859-1 +# en_NZ.UTF-8 UTF-8 +# en_PH ISO-8859-1 +# en_PH.UTF-8 UTF-8 +# en_SG ISO-8859-1 +# en_SG.UTF-8 UTF-8 +# en_US ISO-8859-1 +# en_US.ISO-8859-15 ISO-8859-15 +en_US.UTF-8 UTF-8 +# en_ZA ISO-8859-1 +# en_ZA.UTF-8 UTF-8 +# en_ZM UTF-8 +# en_ZW ISO-8859-1 +# en_ZW.UTF-8 UTF-8 +# eo ISO-8859-3 +# eo.UTF-8 UTF-8 +# eo_US.UTF-8 UTF-8 +# es_AR ISO-8859-1 +# es_AR.UTF-8 UTF-8 +# es_BO ISO-8859-1 +# es_BO.UTF-8 UTF-8 +# es_CL ISO-8859-1 +# es_CL.UTF-8 UTF-8 +# es_CO ISO-8859-1 +# es_CO.UTF-8 UTF-8 +# es_CR ISO-8859-1 +# es_CR.UTF-8 UTF-8 +# es_CU UTF-8 +# es_DO ISO-8859-1 +# es_DO.UTF-8 UTF-8 +# es_EC ISO-8859-1 +# es_EC.UTF-8 UTF-8 +# es_ES ISO-8859-1 +# es_ES.UTF-8 UTF-8 +# es_ES@euro ISO-8859-15 +# es_GT ISO-8859-1 +# es_GT.UTF-8 UTF-8 +# es_HN ISO-8859-1 +# es_HN.UTF-8 UTF-8 +# es_MX ISO-8859-1 +# es_MX.UTF-8 UTF-8 +# es_NI ISO-8859-1 +# es_NI.UTF-8 UTF-8 +# es_PA ISO-8859-1 +# es_PA.UTF-8 UTF-8 +# es_PE ISO-8859-1 +# es_PE.UTF-8 UTF-8 +# es_PR ISO-8859-1 +# es_PR.UTF-8 UTF-8 +# es_PY ISO-8859-1 +# es_PY.UTF-8 UTF-8 +# es_SV ISO-8859-1 +# es_SV.UTF-8 UTF-8 +# es_US ISO-8859-1 +# es_US.UTF-8 UTF-8 +# es_UY ISO-8859-1 +# es_UY.UTF-8 UTF-8 +# es_VE ISO-8859-1 +# es_VE.UTF-8 UTF-8 +# et_EE ISO-8859-1 +# et_EE.ISO-8859-15 ISO-8859-15 +# et_EE.UTF-8 UTF-8 +# eu_ES ISO-8859-1 +# eu_ES.UTF-8 UTF-8 +# eu_ES@euro ISO-8859-15 +# eu_FR ISO-8859-1 +# eu_FR.UTF-8 UTF-8 +# eu_FR@euro ISO-8859-15 +# fa_IR UTF-8 +# ff_SN UTF-8 +# fi_FI ISO-8859-1 +# fi_FI.UTF-8 UTF-8 +# fi_FI@euro ISO-8859-15 +# fil_PH UTF-8 +# fo_FO ISO-8859-1 +# fo_FO.UTF-8 UTF-8 +# fr_BE ISO-8859-1 +# fr_BE.UTF-8 UTF-8 +# fr_BE@euro ISO-8859-15 +# fr_CA ISO-8859-1 +# fr_CA.UTF-8 UTF-8 +# fr_CH ISO-8859-1 +# fr_CH.UTF-8 UTF-8 +# fr_FR ISO-8859-1 +# fr_FR.UTF-8 UTF-8 +# fr_FR@euro ISO-8859-15 +# fr_LU ISO-8859-1 +# fr_LU.UTF-8 UTF-8 +# fr_LU@euro ISO-8859-15 +# fur_IT UTF-8 +# fy_DE UTF-8 +# fy_NL UTF-8 +# ga_IE ISO-8859-1 +# ga_IE.UTF-8 UTF-8 +# ga_IE@euro ISO-8859-15 +# gd_GB ISO-8859-15 +# gd_GB.UTF-8 UTF-8 +# gez_ER UTF-8 +# gez_ER@abegede UTF-8 +# gez_ET UTF-8 +# gez_ET@abegede UTF-8 +# gl_ES ISO-8859-1 +# gl_ES.UTF-8 UTF-8 +# gl_ES@euro ISO-8859-15 +# gu_IN UTF-8 +# gv_GB ISO-8859-1 +# gv_GB.UTF-8 UTF-8 +# ha_NG UTF-8 +# hak_TW UTF-8 +# he_IL ISO-8859-8 +# he_IL.UTF-8 UTF-8 +# hi_IN UTF-8 +# hne_IN UTF-8 +# hr_HR ISO-8859-2 +# hr_HR.UTF-8 UTF-8 +# hsb_DE ISO-8859-2 +# hsb_DE.UTF-8 UTF-8 +# ht_HT UTF-8 +# hu_HU ISO-8859-2 +# hu_HU.UTF-8 UTF-8 +# hy_AM UTF-8 +# hy_AM.ARMSCII-8 ARMSCII-8 +# ia_FR UTF-8 +# id_ID ISO-8859-1 +# id_ID.UTF-8 UTF-8 +# ig_NG UTF-8 +# ik_CA UTF-8 +# is_IS ISO-8859-1 +# is_IS.UTF-8 UTF-8 +# it_CH ISO-8859-1 +# it_CH.UTF-8 UTF-8 +# it_IT ISO-8859-1 +# it_IT.UTF-8 UTF-8 +# it_IT@euro ISO-8859-15 +# iu_CA UTF-8 +# iw_IL ISO-8859-8 +# iw_IL.UTF-8 UTF-8 +# ja_JP.EUC-JP EUC-JP +# ja_JP.UTF-8 UTF-8 +# ka_GE GEORGIAN-PS +# ka_GE.UTF-8 UTF-8 +# kk_KZ PT154 +# kk_KZ RK1048 +# kk_KZ.UTF-8 UTF-8 +# kl_GL ISO-8859-1 +# kl_GL.UTF-8 UTF-8 +# km_KH UTF-8 +# kn_IN UTF-8 +# ko_KR.EUC-KR EUC-KR +# ko_KR.UTF-8 UTF-8 +# kok_IN UTF-8 +# ks_IN UTF-8 +# ks_IN@devanagari UTF-8 +# ku_TR ISO-8859-9 +# ku_TR.UTF-8 UTF-8 +# kw_GB ISO-8859-1 +# kw_GB.UTF-8 UTF-8 +# ky_KG UTF-8 +# lb_LU UTF-8 +# lg_UG ISO-8859-10 +# lg_UG.UTF-8 UTF-8 +# li_BE UTF-8 +# li_NL UTF-8 +# lij_IT UTF-8 +# ln_CD UTF-8 +# lo_LA UTF-8 +# lt_LT ISO-8859-13 +# lt_LT.UTF-8 UTF-8 +# lv_LV ISO-8859-13 +# lv_LV.UTF-8 UTF-8 +# lzh_TW UTF-8 +# mag_IN UTF-8 +# mai_IN UTF-8 +# mg_MG ISO-8859-15 +# mg_MG.UTF-8 UTF-8 +# mhr_RU UTF-8 +# mi_NZ ISO-8859-13 +# mi_NZ.UTF-8 UTF-8 +# mk_MK ISO-8859-5 +# mk_MK.UTF-8 UTF-8 +# ml_IN UTF-8 +# mn_MN UTF-8 +# mni_IN UTF-8 +# mr_IN UTF-8 +# ms_MY ISO-8859-1 +# ms_MY.UTF-8 UTF-8 +# mt_MT ISO-8859-3 +# mt_MT.UTF-8 UTF-8 +# my_MM UTF-8 +# nan_TW UTF-8 +# nan_TW@latin UTF-8 +# nb_NO ISO-8859-1 +# nb_NO.UTF-8 UTF-8 +# nds_DE UTF-8 +# nds_NL UTF-8 +# ne_NP UTF-8 +# nhn_MX UTF-8 +# niu_NU UTF-8 +# niu_NZ UTF-8 +# nl_AW UTF-8 +# nl_BE ISO-8859-1 +# nl_BE.UTF-8 UTF-8 +# nl_BE@euro ISO-8859-15 +# nl_NL ISO-8859-1 +# nl_NL.UTF-8 UTF-8 +# nl_NL@euro ISO-8859-15 +# nn_NO ISO-8859-1 +# nn_NO.UTF-8 UTF-8 +# nr_ZA UTF-8 +# nso_ZA UTF-8 +# oc_FR ISO-8859-1 +# oc_FR.UTF-8 UTF-8 +# om_ET UTF-8 +# om_KE ISO-8859-1 +# om_KE.UTF-8 UTF-8 +# or_IN UTF-8 +# os_RU UTF-8 +# pa_IN UTF-8 +# pa_PK UTF-8 +# pap_AN UTF-8 +# pap_AW UTF-8 +# pap_CW UTF-8 +# pl_PL ISO-8859-2 +# pl_PL.UTF-8 UTF-8 +# ps_AF UTF-8 +# pt_BR ISO-8859-1 +# pt_BR.UTF-8 UTF-8 +# pt_PT ISO-8859-1 +# pt_PT.UTF-8 UTF-8 +# pt_PT@euro ISO-8859-15 +# quz_PE UTF-8 +# raj_IN UTF-8 +# ro_RO ISO-8859-2 +# ro_RO.UTF-8 UTF-8 +# ru_RU ISO-8859-5 +# ru_RU.CP1251 CP1251 +# ru_RU.KOI8-R KOI8-R +# ru_RU.UTF-8 UTF-8 +# ru_UA KOI8-U +# ru_UA.UTF-8 UTF-8 +# rw_RW UTF-8 +# sa_IN UTF-8 +# sat_IN UTF-8 +# sc_IT UTF-8 +# sd_IN UTF-8 +# sd_IN@devanagari UTF-8 +# sd_PK UTF-8 +# se_NO UTF-8 +# shs_CA UTF-8 +# si_LK UTF-8 +# sid_ET UTF-8 +# sk_SK ISO-8859-2 +# sk_SK.UTF-8 UTF-8 +# sl_SI ISO-8859-2 +# sl_SI.UTF-8 UTF-8 +# so_DJ ISO-8859-1 +# so_DJ.UTF-8 UTF-8 +# so_ET UTF-8 +# so_KE ISO-8859-1 +# so_KE.UTF-8 UTF-8 +# so_SO ISO-8859-1 +# so_SO.UTF-8 UTF-8 +# sq_AL ISO-8859-1 +# sq_AL.UTF-8 UTF-8 +# sq_MK UTF-8 +# sr_ME UTF-8 +# sr_RS UTF-8 +# sr_RS@latin UTF-8 +# ss_ZA UTF-8 +# st_ZA ISO-8859-1 +# st_ZA.UTF-8 UTF-8 +# sv_FI ISO-8859-1 +# sv_FI.UTF-8 UTF-8 +# sv_FI@euro ISO-8859-15 +# sv_SE ISO-8859-1 +# sv_SE.ISO-8859-15 ISO-8859-15 +# sv_SE.UTF-8 UTF-8 +# sw_KE UTF-8 +# sw_TZ UTF-8 +# szl_PL UTF-8 +# ta_IN UTF-8 +# ta_LK UTF-8 +# tcy_IN.UTF-8 UTF-8 +# te_IN UTF-8 +# tg_TJ KOI8-T +# tg_TJ.UTF-8 UTF-8 +# th_TH TIS-620 +# th_TH.UTF-8 UTF-8 +# the_NP UTF-8 +# ti_ER UTF-8 +# ti_ET UTF-8 +# tig_ER UTF-8 +# tk_TM UTF-8 +# tl_PH ISO-8859-1 +# tl_PH.UTF-8 UTF-8 +# tn_ZA UTF-8 +# tr_CY ISO-8859-9 +# tr_CY.UTF-8 UTF-8 +# tr_TR ISO-8859-9 +# tr_TR.UTF-8 UTF-8 +# ts_ZA UTF-8 +# tt_RU UTF-8 +# tt_RU@iqtelif UTF-8 +# ug_CN UTF-8 +# ug_CN@latin UTF-8 +# uk_UA KOI8-U +# uk_UA.UTF-8 UTF-8 +# unm_US UTF-8 +# ur_IN UTF-8 +# ur_PK UTF-8 +# uz_UZ ISO-8859-1 +# uz_UZ.UTF-8 UTF-8 +# uz_UZ@cyrillic UTF-8 +# ve_ZA UTF-8 +# vi_VN UTF-8 +# wa_BE ISO-8859-1 +# wa_BE.UTF-8 UTF-8 +# wa_BE@euro ISO-8859-15 +# wae_CH UTF-8 +# wal_ET UTF-8 +# wo_SN UTF-8 +# xh_ZA ISO-8859-1 +# xh_ZA.UTF-8 UTF-8 +# yi_US CP1255 +# yi_US.UTF-8 UTF-8 +# yo_NG UTF-8 +# yue_HK UTF-8 +# zh_CN GB2312 +# zh_CN.GB18030 GB18030 +# zh_CN.GBK GBK +# zh_CN.UTF-8 UTF-8 +# zh_HK BIG5-HKSCS +# zh_HK.UTF-8 UTF-8 +# zh_SG GB2312 +# zh_SG.GBK GBK +# zh_SG.UTF-8 UTF-8 +# zh_TW BIG5 +# zh_TW.EUC-TW EUC-TW +# zh_TW.UTF-8 UTF-8 +# zu_ZA ISO-8859-1 +# zu_ZA.UTF-8 UTF-8 diff --git a/data/example-root/etc/profile b/data/example-root/etc/profile new file mode 100644 index 000000000..42bd3d007 --- /dev/null +++ b/data/example-root/etc/profile @@ -0,0 +1,2 @@ +# Global .profile -- add /sbin_1 +PATH=$PATH:/sbin_1:/xbin diff --git a/data/example-root/etc/sudoers.d/10-installer b/data/example-root/etc/sudoers.d/10-installer new file mode 100644 index 000000000..e69de29bb diff --git a/data/example-root/usr/share/zoneinfo/.dummy b/data/example-root/usr/share/zoneinfo/.dummy new file mode 100644 index 000000000..e69de29bb diff --git a/data/example-root/usr/share/zoneinfo/America/New_York b/data/example-root/usr/share/zoneinfo/America/New_York new file mode 100644 index 000000000..7553fee37 Binary files /dev/null and b/data/example-root/usr/share/zoneinfo/America/New_York differ diff --git a/data/example-root/usr/share/zoneinfo/UTC b/data/example-root/usr/share/zoneinfo/UTC new file mode 100644 index 000000000..c3b97f1a1 Binary files /dev/null and b/data/example-root/usr/share/zoneinfo/UTC differ diff --git a/data/example-root/usr/share/zoneinfo/Zulu b/data/example-root/usr/share/zoneinfo/Zulu new file mode 100644 index 000000000..c3b97f1a1 Binary files /dev/null and b/data/example-root/usr/share/zoneinfo/Zulu differ diff --git a/data/example-root/var/lib/dbus/.dummy b/data/example-root/var/lib/dbus/.dummy new file mode 100644 index 000000000..e69de29bb diff --git a/data/example-root/var/lib/initramfs-tools b/data/example-root/var/lib/initramfs-tools new file mode 100644 index 000000000..e69de29bb diff --git a/data/example-root/xbin/linux-version b/data/example-root/xbin/linux-version new file mode 100755 index 000000000..3e91d5333 --- /dev/null +++ b/data/example-root/xbin/linux-version @@ -0,0 +1 @@ +#! /bin/true diff --git a/data/example-root/xbin/useradd b/data/example-root/xbin/useradd new file mode 100755 index 000000000..3e91d5333 --- /dev/null +++ b/data/example-root/xbin/useradd @@ -0,0 +1 @@ +#! /bin/true diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index f2af10ebc..e9d4a7a12 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>بيئة الإقلاع</strong> لهذا النّظام.<br><br>أنظمة x86 القديمة تدعم <strong>BIOS</strong> فقط.<br>غالبًا ما تستخدم الأنظمة الجديدة <strong>EFI</strong>، ولكن ما زال بإمكانك إظهاره ك‍ BIOS إن بدأته بوضع التّوافقيّة. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. بدأ هذا النّظام ببيئة إقلاع <strong>EFI</strong>.<br><br>لضبط البدء من بيئة EFI، يجب على المثبّت وضع تطبيق محمّل إقلاع، مثل <strong>GRUB</strong> أو <strong>systemd-boot</strong> على <strong>قسم نظام EFI</strong>. هذا الأمر آليّ، إلّا إن اخترت التّقسيم يدويًّا، حيث عليك اخيتاره أو إنشاؤه بنفسك. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. بدأ هذا النّظام ببيئة إقلاع <strong>BIOS</strong>.<br><br>لضبط البدء من بيئة BIOS، يجب على المثبّت وضع تطبيق محمّل إقلاع، مثل <strong>GRUB</strong>، إمّا في بداية قسم أو في <strong>قطاع الإقلاع الرّئيس</strong> قرب بداية جدول التّقسيم (محبّذ). هذا الأمر آليّ، إلّا إن اخترت التّقسيم يدويًّا، حيث عليك اخيتاره أو إنشاؤه بنفسك. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. الح&جم: - + En&crypt تشفير - + Logical منطقيّ - + Primary أساسيّ - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. نوع <strong>جدول التّقسيم</strong> على جهاز التّخزين المحدّد.<br><br>الطّريقة الوحيدة لتغيير النّوع هو بحذفه وإعادة إنشاء جدول التّقسيم من الصّفر، ممّا سيؤدّي إلى تدمير كلّ البيانات في جهاز التّخزين.<br>سيبقي هذا المثبّت جدول التّقسيم الحاليّ كما هو إلّا إن لم ترد ذلك.<br>إن لم تكن متأكّدًا، ف‍ GPT مستحسن للأنظمة الحديثة. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. الشّارات: - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. أكّد عبارة المرور - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish أنهِ - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. إعداد محليّة النّظام يؤثّر على لغة بعض عناصر واجهة مستخدم سطر الأوامر وأطقم محارفها.<br/>الإعداد الحاليّ هو <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. ثبّت م&حمّل الإقلاع على: - + Are you sure you want to create a new partition table on %1? أمتأكّد من إنشاء جدول تقسيم جديد على %1؟ diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index b0f9c8b81..be9f765a0 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. L'<strong>entornu d'arranque</strong> d'esti sistema.<br><br>Sistemes x86 más vieyos namái sofiten <strong>BIOS</strong>.<br>Los sistemes modernos usen davezu <strong>EFI</strong>, pero quiciabes d'amuesen como BIOS si s'anicien nel mou compatibilidá. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Esti sistema anicióse con un entornu d'arranque <strong>EFI</strong>.<br><br>Pa configurar l'aniciu d'un entornu EFI, esti instalador ha instalar una aplicación de xestión d'arranque, como <strong>GRUB</strong> o <strong>systemd-boot</strong> nuna <strong>partición del sistema EFI</strong>. Esto ye automático, a nun ser qu'escueyas el particionáu manual, que nesi casu has escoyer creala tu mesmu. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ L'instalador colará y perderánse toles camudancies. Tama&ñu: - + En&crypt &Cifrar - + Logical Llóxica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. Puntu de montaxe yá n'usu. Esbilla otru, por favor. @@ -824,7 +824,7 @@ L'instalador colará y perderánse toles camudancies. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ L'instalador colará y perderánse toles camudancies. Banderes: - + Mountpoint already in use. Please select another one. Puntu de montaxe yá n'usu. Esbilla otru, por favor. @@ -969,7 +969,7 @@ L'instalador colará y perderánse toles camudancies. Confirmar fras de pasu - + Please enter the same passphrase in both boxes. Introduz la mesma fras de pasu n'entrabes caxes, por favor. @@ -1038,17 +1038,17 @@ L'instalador colará y perderánse toles camudancies. FinishedViewStep - + Finish Finar - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ L'instalador colará y perderánse toles camudancies. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. L'axustes de locale del sistema afeuta a la llingua y al conxuntu de caráuteres afitáu pa dellos elementos de la interfaz d'usuaru de llinia comandos.<br/>L'axuste actual ye <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ L'instalador colará y perderánse toles camudancies. &Instalar xestor d'arranque en: - + Are you sure you want to create a new partition table on %1? ¿De xuru que quies crear una tabla particiones nueva en %1? diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index dce5bde9c..388bb98a8 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Среда за начално зареждане</strong> на тази система.<br><br>Старите x86 системи поддържат само <strong>BIOS</strong>.<br>Модерните системи обикновено използват <strong>EFI</strong>, но може също така да използват BIOS, ако са стартирани в режим на съвместимост. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Тази система беше стартирана с <strong>EFI</strong> среда за начално зареждане.<br><br>За да се настрои стартирането от EFI, инсталаторът трябва да разположи програма за начално зареждане като <strong>GRUB</strong> или <strong>systemd-boot</strong> на <strong>EFI Системен Дял</strong>. Това се прави автоматично, освен ако не се избере ръчно поделяне, в такъв случай вие трябва да свършите тази работа. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Тази система беше стартирана с <strong>BIOS</strong> среда за начално зареждане.<br><br>За да се настрои стартирането от BIOS, инсталаторът трябва да разположи програма за начално зареждане като <strong>GRUB</strong> в началото на дяла или на <strong>Сектора за Начално Зареждане</strong> близо до началото на таблицата на дяловете (предпочитано). Това се прави автоматично, освен ако не се избере ръчно поделяне, в такъв случай вие трябва да свършите тази работа. @@ -592,27 +592,27 @@ The installer will quit and all changes will be lost. Раз&мер: - + En&crypt - + Logical Логическа - + Primary Главна - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -825,7 +825,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Типа на <strong>таблицата на дяловете</strong> на избраното устройство за съхранение.<br><br>Единствения начин да се промени е като се изчисти и пресъздаде таблицата на дяловете, като по този начин всички данни върху устройството ще бъдат унищожени.<br>Инсталатора ще запази сегашната таблица на дяловете, освен ако не изберете обратното.<br>Ако не сте сигурни - за модерни системи се препоръчва GPT. @@ -942,7 +942,7 @@ The installer will quit and all changes will be lost. Флагове: - + Mountpoint already in use. Please select another one. @@ -970,7 +970,7 @@ The installer will quit and all changes will be lost. Потвърди паролата - + Please enter the same passphrase in both boxes. @@ -1039,17 +1039,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Завърши - + Installation Complete - + The installation of %1 is complete. @@ -1160,6 +1160,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Локацията на системата засяга езика и символите зададени за някои елементи на командния ред.<br/>Текущата настройка е <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1576,7 +1586,7 @@ The installer will quit and all changes will be lost. Инсталирай &устройството за начално зареждане върху: - + Are you sure you want to create a new partition table on %1? Сигурни ли сте че искате да създадете нова таблица на дяловете върху %1? diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index 294795406..cae1c9e09 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. L'<strong>entorn d'arrencada</strong> d'aquest sistema.<br><br>Els sistemes antics x86 només tenen suport per a <strong>BIOS</strong>.<br>Els moderns normalment usen <strong>EFI</strong>, però també poden mostrar-se com a BIOS si l'entorn d'arrencada s'executa en mode de compatibilitat. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Aquest sistema s'ha iniciat amb un entorn d'arrencada <strong>EFI</strong>. <br><br> Per configurar una arrencada des d'un entorn EFI, aquest instal·lador ha de desplegar una aplicació de càrrega d'arrencada, com ara el <strong>GRUB</strong> o el <strong>systemd-boot</strong> en una <strong>partició EFI del sistema</strong>. Això és automàtic, llevat que trieu un partiment manual, en què caldrà que ho configureu vosaltres mateixos. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Aquest sistema s'ha iniciat amb un entorn d'arrencada <strong>BIOS </strong>. Per configurar una arrencada des d'un entorn BIOS, aquest instal·lador ha d'instal·lar un carregador d'arrencada, com ara el <strong>GRUB</strong>, ja sigui al començament d'una partició o al <strong>Registre d'Arrencada Mestre</strong>, a prop del començament de la taula de particions (millor). Això és automàtic, llevat que trieu un partiment manual, en què caldrà que ho configureu pel vostre compte. @@ -591,27 +591,27 @@ L'instal·lador es tancarà i tots els canvis es perdran. Mi&da: - + En&crypt En&cripta - + Logical Lògica - + Primary Primària - + GPT GPT - + Mountpoint already in use. Please select another one. El punt de muntatge ja s'usa. Si us plau, seleccioneu-ne un altre. @@ -824,7 +824,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. El tipus de <strong>taula de particions</strong> actualment present al dispositiu d'emmagatzematge seleccionat. L'única manera de canviar el tipus de taula de particions és esborrar i tornar a crear la taula de particions des de zero, fet que destrueix totes les dades del dispositiu d'emmagatzematge. <br> Aquest instal·lador mantindrà la taula de particions actual llevat que decidiu expressament el contrari. <br>Si no n'esteu segur, als sistemes moderns es prefereix GPT. @@ -941,7 +941,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. Banderes: - + Mountpoint already in use. Please select another one. El punt de muntatge ja s'usa. Si us plau, seleccioneu-ne un altre. @@ -969,7 +969,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. Confirmeu la contrasenya - + Please enter the same passphrase in both boxes. Si us plau, escriviu la mateixa constrasenya a les dues caselles. @@ -1038,19 +1038,19 @@ L'instal·lador es tancarà i tots els canvis es perdran. FinishedViewStep - + Finish Acaba - + Installation Complete - + Instal·lació acabada - + The installation of %1 is complete. - + La instal·lació de %1 ha acabat. @@ -1159,6 +1159,16 @@ L'instal·lador es tancarà i tots els canvis es perdran. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. La configuració local del sistema afecta la llengua i el joc de caràcters d'alguns elements de la interície de línia d'ordres. <br/>La configuració actual és <strong>%1</strong>. + + + &Cancel + &Cancel·la + + + + &OK + D'ac&ord + LicensePage @@ -1575,7 +1585,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. &Instal·la el carregador d'arrencada a: - + Are you sure you want to create a new partition table on %1? Esteu segurs que voleu crear una nova taula de particions a %1? diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index ceda78cc4..1bf3c9ae0 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Zaváděcí prostředí</strong> tohoto systému.<br><br>Starší x86 systémy podporují pouze <strong>BIOS</strong>.<br>Moderní systémy většinou využívají <strong>EFI</strong>, někdy lze toto prostředí přepnout do módu kompatibility a může se jevit jako BIOS. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Systém byl spuštěn se zaváděcím prostředím <strong>EFI</strong>.<br><br>Abyste zaváděli systém prostředím EFI, instalátor musí zavést aplikaci pro zavádění systému, jako <strong>GRUB</strong> nebo <strong>systemd-boot</strong> na <strong>systémovém oddílu EFI</strong>. Proběhne to automaticky, pokud si nezvolíte ruční dělení disku, v tom případě si aplikaci pro zavádění musíte sami zvolit. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Systém byl spuštěn se zaváděcím prostředím <strong>BIOS</strong>.<br><br>Abyste zaváděli systém prostředím BIOS, instalátor musí umístit zavaděč systému, jako <strong>GRUB</strong>, buď na začátek oddílu nebo (lépe) do <strong>Master Boot Record</strong> na začátku tabulky oddílů. Proběhne to automaticky, pokud si nezvolíte ruční dělení disku, v tom případě si zavádění musíte nastavit sami. @@ -591,27 +591,27 @@ Instalační program bude ukončen a všechny změny ztraceny. &Velikost: - + En&crypt Š&ifrovat - + Logical Logický - + Primary Primární - + GPT GPT - + Mountpoint already in use. Please select another one. Bod připojení je už používán. Prosím vyberte jiný. @@ -824,7 +824,7 @@ Instalační program bude ukončen a všechny změny ztraceny. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Typ <strong>tabulky oddílů</strong>, který je na vybraném úložném zařízení.<br><br>Jedinou možností změnit typ tabulky oddílů je smazání a znovu vytvoření nové tabulky oddílů, tím se smažou všechna data na daném úložném zařízení.<br>Instalační program zanechá stávající typ tabulky oddílů, pokud si sami nenavolíte jeho změnu.<br>Pokud si nejste jisti, na moderních systémech se upřednostňuje GPT. @@ -941,7 +941,7 @@ Instalační program bude ukončen a všechny změny ztraceny. Příznaky: - + Mountpoint already in use. Please select another one. Bod připojení je už používán. Prosím vyberte jiný. @@ -969,7 +969,7 @@ Instalační program bude ukončen a všechny změny ztraceny. Potvrď heslo - + Please enter the same passphrase in both boxes. Zadejte prosím stejné heslo do obou polí. @@ -1038,19 +1038,19 @@ Instalační program bude ukončen a všechny změny ztraceny. FinishedViewStep - + Finish Dokončit - + Installation Complete - + Instalace dokončena - + The installation of %1 is complete. - + Instalace %1 je dokončena. @@ -1159,6 +1159,16 @@ Instalační program bude ukončen a všechny změny ztraceny. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Nastavené locale systému ovlivňuje jazyk a znakovou sadu pro UI příkazové řádky.<br/>Současné nastavení je <strong>%1</strong>. + + + &Cancel + &Zrušit + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ Instalační program bude ukončen a všechny změny ztraceny. Nainstalovat &zavaděč na: - + Are you sure you want to create a new partition table on %1? Opravdu si přejete vytvořit novou tabulku oddílů na %1? diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index e88b0d26b..5ce8ee77e 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Bootmiljøet</strong> for dette system.<br><br>Ældre x86-systemer understøtter kun <strong>BIOS</strong>.<br>Moderne systemer bruger normalt <strong>EFI</strong>, men kan også vises som BIOS hvis det startes i kompatibilitetstilstand. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Dette system blev startet med et <strong>EFI</strong>-bootmiljø.<br><br>For at konfigurere opstart fra et EFI-miljø, bliver installationsprogrammet nødt til at installere et bootloaderprogram, såsom <strong>GRUB</strong> eller <strong>systemd-boot</strong> på en <strong>EFI-systempartition</strong>. Dette vil ske automatisk, med mindre du vælger manuel partitionering, hvor du i så fald skal vælge eller oprette den selv. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Dette system blev startet med et <strong>BIOS</strong>-bootmiljø.<br><br>For at konfigurere opstart fra et BIOS-miljø, bliver installationsprogrammet nødt til at installere en bootloader, såsom <strong>GRUB</strong>, enten i begyndelsen af en partition eller på <strong>Master Boot Record</strong> nær begyndelsen af partitionstabellen (foretrukket). Dette sker automatisk, med mindre du vælger manuel partitionering, hvor du i så fald skal opsætte den selv. @@ -173,7 +173,7 @@ Output: External command finished with errors - Ekstern kommando blev færdiggjort uden fejl + Ekstern kommando blev færdiggjort med fejl @@ -591,27 +591,27 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.&Størrelse: - + En&crypt Kryp&tér - + Logical Logisk - + Primary Primær - + GPT GPT - + Mountpoint already in use. Please select another one. Monteringspunktet er allerede i brug. Vælg venligst et andet. @@ -702,7 +702,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Creating new %1 partition table on %2. - Opretter ny %1 partitionstabel på %2. + Opretter ny %1-partitionstabel på %2. @@ -824,7 +824,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Typen af <strong>partitionstabel</strong> på den valgte lagerenhed.<br><br>Den eneste måde at ændre partitionstabeltypen, er at slette og oprette partitionstabellen igen, hvilket vil destruere al data på lagerenheden.<br>Installationsprogrammet vil beholde den nuværende partitionstabel medmindre du specifikt vælger andet.<br>Hvis usikker, er GPT foretrukket på moderne systemer. @@ -941,7 +941,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Flag: - + Mountpoint already in use. Please select another one. Monteringspunktet er allerede i brug. Vælg venligst et andet. @@ -969,7 +969,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Bekræft adgangskode - + Please enter the same passphrase in both boxes. Indtast venligst samme adgangskode i begge bokse. @@ -984,7 +984,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Install %1 on <strong>new</strong> %2 system partition. - Installér %1 på den <strong>nye</strong> %2 systempartition. + Installér %1 på <strong>nye</strong> %2-systempartition. @@ -994,7 +994,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Install %2 on %3 system partition <strong>%1</strong>. - Installér %2 på %3 systempartition <strong>%1</strong>. + Installér %2 på %3-systempartition <strong>%1</strong>. @@ -1038,19 +1038,19 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. FinishedViewStep - + Finish Færdig - + Installation Complete - + Installation fuldført - + The installation of %1 is complete. - + Installationen af %1 er fuldført. @@ -1159,6 +1159,16 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Systemets lokalitetsindstilling har indflydelse på sproget og tegnsættet for nogle kommandolinje-brugerelementer.<br/>Den nuværende indstilling er <strong>%1</strong>. + + + &Cancel + &Annullér + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Installér boot&loader på: - + Are you sure you want to create a new partition table on %1? Er du sikker på, at du vil oprette en ny partitionstabel på %1? @@ -1762,7 +1772,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. %1 system partition (%2) - %1 systempartition (%2) + %1-systempartition (%2) diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index 35bedd47b..ff93c6377 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. Die <strong>Boot-Umgebung</strong> dieses Systems.<br><br>Ältere x86-Systeme unterstützen nur <strong>BIOS</strong>.<br>Moderne Systeme verwenden normalerweise <strong>EFI</strong>, können jedoch auch als BIOS angezeigt werden, wenn sie im Kompatibilitätsmodus gestartet werden. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Dieses System wurde mit einer <strong>EFI</strong> Boot-Umgebung gestartet.<br><br>Um den Start von einer EFI-Umgebung zu konfigurieren, muss dieser Installer eine Bootloader-Anwendung nutzen , wie <strong>GRUB</strong> oder <strong>systemd-boot</strong> auf einer <strong>EFI System-Partition</strong>. Dies passiert automatisch, außer Sie wählen die maunuelle Partitionierung. In diesem Fall müssen Sie sie selbst auswählen oder erstellen. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Dieses System wurde mit einer <strong>BIOS</strong> Boot-Umgebung gestartet.<br><br>Um den Systemstart aus einer BIOS-Umgebung zu konfigurieren, muss dieses Installationsprogramm einen Boot-Loader installieren, wie <strong>GRUB</strong>, entweder am Anfang einer Partition oder im <strong>Master Boot Record</strong> nahe am Anfang der Partitionstabelle (bevorzugt). Dies passiert automatisch, außer Sie wählen die manuelle Partitionierung. In diesem Fall müssen Sie ihn selbst aufsetzen. @@ -591,27 +591,27 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Grö&sse: - + En&crypt Ver&schlüsseln - + Logical Logisch - + Primary Primär - + GPT GPT - + Mountpoint already in use. Please select another one. Dieser Einhängepunkt wird schon benuztzt. Bitte wählen Sie einen anderen. @@ -824,7 +824,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Die Art von <strong>Partitionstabelle</strong> auf dem gewählten Speichermedium.<br><br>Die einzige Möglichkeit die Art der Partitionstabelle zu ändern ist sie zu löschen und sie von Grund auf neu aufzusetzen, was alle Daten auf dem Speichermedium vernichtet.<br>Dieses Installationsprogramm wird die aktuelle Partitionstabelle behalten außer Sie wählen ausdrücklich etwas anderes..<br>Falls Sie unsicher sind: auf modernen Systemen wird GPT bevorzugt. @@ -941,7 +941,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Markierungen: - + Mountpoint already in use. Please select another one. Der Einhängepunkt wird schon benutzt. Bitte wählen Sie einen anderen. @@ -969,7 +969,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Passwort wiederholen - + Please enter the same passphrase in both boxes. Bitte tragen Sie dasselbe Passwort in beide Felder ein. @@ -1038,17 +1038,17 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. FinishedViewStep - + Finish Beenden - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Die Lokalisierung des Systems beeinflusst die Sprache und den Zeichensatz einiger Elemente der Kommandozeile.<br/>Die derzeitige Einstellung ist <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Installiere Boot&loader auf: - + Are you sure you want to create a new partition table on %1? Sind Sie sicher, dass Sie eine neue Partitionstabelle auf %1 erstellen möchten? diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index 46f2cf755..ee760147c 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. Το <strong> περιβάλλον εκκίνησης <strong> αυτού του συστήματος.<br><br>Παλαιότερα συστήματα x86 υποστηρίζουν μόνο <strong>BIOS</strong>.<br> Τα σύγχρονα συστήματα συνήθως χρησιμοποιούν <strong>EFI</strong>, αλλά ίσως επίσης να φαίνονται ως BIOS εάν εκκινήθηκαν σε λειτουργία συμβατότητας. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Αυτό το σύστημα εκκινήθηκε με ένα <strong>EFI</strong> περιβάλλον εκκίνησης.<br><br>Για να ρυθμιστεί η εκκίνηση από ένα περιβάλλον EFI, αυτός ο εγκαταστάτης πρέπει να αναπτυχθεί ένα πρόγραμμα φορτωτή εκκίνησης, όπως <strong>GRUB</strong> ή <strong>systemd-boot</strong> σε ένα <strong>EFI Σύστημα Διαμερισμού</strong>. Αυτό είναι αυτόματο, εκτός εάν επιλέξεις χειροκίνητο διαμερισμό, στην οποία περίπτωση οφείλεις να το επιλέξεις ή να το δημιουργήσεις από μόνος σου. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. &Μέγεθος: - + En&crypt - + Logical Λογική - + Primary Πρωτεύουσα - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. Σημαίες: - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. Επιβεβαίωση λέξης κλειδί - + Please enter the same passphrase in both boxes. Παρακαλώ εισάγετε την ίδια λέξη κλειδί και στα δύο κουτιά. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Τέλος - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Η τοπική ρύθμιση του συστήματος επηρεάζει τη γλώσσα και το σύνολο χαρακτήρων για ορισμένα στοιχεία διεπαφής χρήστη της γραμμής εντολών.<br/>Η τρέχουσα ρύθμιση είναι <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. Εγκατάσταση προγράμματος ε&κκίνησης στο: - + Are you sure you want to create a new partition table on %1? Θέλετε σίγουρα να δημιουργήσετε έναν νέο πίνακα κατατμήσεων στο %1; diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index dc388b75e..8c81b818a 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. Si&ze: - + En&crypt En&crypt - + Logical Logical - + Primary Primary - + GPT GPT - + Mountpoint already in use. Please select another one. Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. Flags: - + Mountpoint already in use. Please select another one. Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. Confirm passphrase - + Please enter the same passphrase in both boxes. Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Finish - + Installation Complete Installation Complete - + The installation of %1 is complete. The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + &Cancel + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. Install boot &loader on: - + Are you sure you want to create a new partition table on %1? Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index c35212a35..5fcf677a5 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. Si&ze: - + En&crypt - + Logical Logical - + Primary Primary - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index e30d2502d..0ae26c8da 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. El <strong>entorno de arranque<strong> de este sistema.<br><br>Los sistemas x86 sólo soportan <strong>BIOS</strong>.<br>Los sistemas modernos habitualmente usan <strong>EFI</strong>, pero también pueden mostrarse como BIOS si se inician en modo de compatibildiad. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Este sistema se inició con un entorno de arranque <strong>EFI</strong>.<br><br>Para configurar el arranque desde un entorno EFI, este instalador debe desplegar una aplicación de gestor de arranque, como <strong>GRUB</strong> o <strong>systemd-boot</strong> en una <strong>Partición de Sistema EFI</strong>. Esto es automático, a menos que escoja particionamiento manual, en cuyo caso debe escogerlo o crearlo usted mismo. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Este sistema fue iniciado con un entorno de arranque <strong>BIOS</strong>.<br><br> Para configurar el arranque desde un entorno BIOS, este instalador debe instalar un gestor de arranque, como <strong>GRUB</strong>, tanto al principio de una partición o en el <strong>Master Boot Record</strong> (registro maestro de arranque) cerca del principio de la tabla de partición (preferentemente). Esto es automático, a menos que escoja particionamiento manual, en cuayo caso debe establecerlo usted mismo. @@ -592,27 +592,27 @@ Saldrá del instalador y se perderán todos los cambios. &Tamaño: - + En&crypt &Cifrar - + Logical Lógica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. Punto de montaje ya en uso. Por favor, seleccione otro. @@ -825,7 +825,7 @@ Saldrá del instalador y se perderán todos los cambios. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. El tipo de <strong>tabla de particiones</strong> en el dispositivo de almacenamiento seleccionado.<br/><br/>La única forma de cambiar el tipo de la tabla de particiones es borrando y creando la tabla de particiones de nuevo, lo cual destruirá todos los datos almacenados en el dispositivo de almacenamiento.<br/>Este instalador mantendrá la tabla de particiones actual salvo que explícitamente se indique lo contrario.<br/>En caso de dudas, GPT es preferible en sistemas modernos. @@ -942,7 +942,7 @@ Saldrá del instalador y se perderán todos los cambios. Banderas: - + Mountpoint already in use. Please select another one. Punto de montaje ya en uso. Por favor, seleccione otro. @@ -970,7 +970,7 @@ Saldrá del instalador y se perderán todos los cambios. Confirmar frase-contraseña - + Please enter the same passphrase in both boxes. Por favor, introduzca la misma frase-contraseña en ambos recuadros. @@ -1039,19 +1039,19 @@ Saldrá del instalador y se perderán todos los cambios. FinishedViewStep - + Finish Finalizar - + Installation Complete - + Instalación completada - + The installation of %1 is complete. - + Se ha completado la instalación de %1. @@ -1160,6 +1160,16 @@ Saldrá del instalador y se perderán todos los cambios. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. La configuración regional del sistema afecta al idioma y a al conjunto de caracteres para algunos elementos de interfaz de la linea de comandos.<br/>La configuración actual es <strong>%1</strong>. + + + &Cancel + &Cancelar + + + + &OK + &Aceptar + LicensePage @@ -1576,7 +1586,7 @@ Saldrá del instalador y se perderán todos los cambios. Instalar gestor de arranque en: - + Are you sure you want to create a new partition table on %1? ¿Está seguro de querer crear una nueva tabla de particiones en %1? diff --git a/lang/calamares_es_ES.ts b/lang/calamares_es_ES.ts index 61fa77609..364d9d685 100644 --- a/lang/calamares_es_ES.ts +++ b/lang/calamares_es_ES.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ El instalador se cerrará y se perderán todos los cambios. Tamaño - + En&crypt - + Logical Logica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ El instalador se cerrará y se perderán todos los cambios. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ El instalador se cerrará y se perderán todos los cambios. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ El instalador se cerrará y se perderán todos los cambios. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ El instalador se cerrará y se perderán todos los cambios. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ El instalador se cerrará y se perderán todos los cambios. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ El instalador se cerrará y se perderán todos los cambios. - + Are you sure you want to create a new partition table on %1? ¿Estás seguro de que quieres crear una nueva tabla de particiones en %1? diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index b60b9994c..5b54af656 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -593,27 +593,27 @@ El instalador terminará y se perderán todos los cambios. &Tamaño: - + En&crypt - + Logical Lógica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -826,7 +826,7 @@ El instalador terminará y se perderán todos los cambios. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -943,7 +943,7 @@ El instalador terminará y se perderán todos los cambios. - + Mountpoint already in use. Please select another one. @@ -971,7 +971,7 @@ El instalador terminará y se perderán todos los cambios. - + Please enter the same passphrase in both boxes. @@ -1040,17 +1040,17 @@ El instalador terminará y se perderán todos los cambios. FinishedViewStep - + Finish Terminado - + Installation Complete - + The installation of %1 is complete. @@ -1161,6 +1161,16 @@ El instalador terminará y se perderán todos los cambios. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. La configuración regional del sistema afecta al idioma y a al conjunto de caracteres para algunos elementos de interfaz de la linea de comandos.<br/>La configuración actual es <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1577,7 +1587,7 @@ El instalador terminará y se perderán todos los cambios. - + Are you sure you want to create a new partition table on %1? ¿Está seguro de querer crear una nueva tabla de particiones en %1? diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index fb7ed5974..2c7adab8b 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -590,27 +590,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -823,7 +823,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -940,7 +940,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -968,7 +968,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1037,17 +1037,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1158,6 +1158,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1574,7 +1584,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index d5bda8ad0..18ac538fa 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. Suurus: - + En&crypt - + Logical Loogiline köide - + Primary Peamine - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index 25b34a0b3..845f87100 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -588,27 +588,27 @@ The installer will quit and all changes will be lost. Ta&maina: - + En&crypt - + Logical Logikoa - + Primary Primarioa - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -821,7 +821,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -938,7 +938,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -966,7 +966,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1035,17 +1035,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Bukatu - + Installation Complete - + The installation of %1 is complete. @@ -1156,6 +1156,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1572,7 +1582,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index ae2a57efa..35f45b757 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 5b03d22e9..56028b4eb 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. K&oko: - + En&crypt - + Logical Looginen - + Primary Ensisijainen - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + Are you sure you want to create a new partition table on %1? Oletko varma, että haluat luoda uuden osion %1? diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index c6b2e4a83..d44d8db40 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. L'<strong>environnement de démarrage</strong> de ce système.<br><br>Les anciens systèmes x86 supportent uniquement le <strong>BIOS</strong>.<br>Les systèmes récents utilisent habituellement <strong>EFI</strong>, mais peuvent également exposer BIOS si démarré en mode de compatibilité. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Ce système a été initialisé avec un environnement de démarrage <strong>EFI</strong>.<br><br>Pour configurer le démarrage depuis un environnement EFI, cet installateur doit déployer un chargeur de démarrage, comme <strong>GRUB</strong> ou <strong>systemd-boot</strong> sur une <strong>partition système EFI</strong>. Ceci est automatique, à moins que vous n'ayez sélectionné le partitionnement manuel, auquel cas vous devez en choisir une ou la créer vous même. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Ce système a été initialisé avec un environnement de démarrage <strong>BIOS</strong>.<br><br>Pour configurer le démarrage depuis un environnement BIOS, cet installateur doit déployer un chargeur de démarrage, comme <strong>GRUB</strong> ou <strong>systemd-boot</strong> au début d'une partition ou bien sur le <strong>Master Boot Record</strong> au début de la table des partitions (méthode privilégiée). Ceci est automatique, à moins que vous n'ayez sélectionné le partitionnement manuel, auquel cas vous devez le configurer vous-même. @@ -591,27 +591,27 @@ L'installateur se fermera et les changements seront perdus. Ta&ille : - + En&crypt Chi&ffrer - + Logical Logique - + Primary Primaire - + GPT GPT - + Mountpoint already in use. Please select another one. Le point de montage est déjà utilisé. Merci d'en sélectionner un autre. @@ -824,7 +824,7 @@ L'installateur se fermera et les changements seront perdus. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Le type de <strong>table de partitions</strong> sur le périphérique de stockage sélectionné.<br><br>Le seul moyen de changer le type de table de partitions est d'effacer et de recréer entièrement la table de partitions, ce qui détruit toutes les données sur le périphérique de stockage.<br>Cette installateur va conserver la table de partitions actuelle à moins de faire explicitement un autre choix.<br>Si vous n'êtes pas sûr, sur les systèmes modernes GPT est à privilégier. @@ -941,7 +941,7 @@ L'installateur se fermera et les changements seront perdus. Drapeaux: - + Mountpoint already in use. Please select another one. Le point de montage est déjà utilisé. Merci d'en sélectionner un autre. @@ -969,7 +969,7 @@ L'installateur se fermera et les changements seront perdus. Confirmez la phrase de passe - + Please enter the same passphrase in both boxes. Merci d'entrer la même phrase de passe dans les deux champs. @@ -1038,19 +1038,19 @@ L'installateur se fermera et les changements seront perdus. FinishedViewStep - + Finish Terminer - + Installation Complete - + Installation terminée - + The installation of %1 is complete. - + L'installation de %1 est terminée. @@ -1159,6 +1159,16 @@ L'installateur se fermera et les changements seront perdus. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Les paramètres régionaux systèmes affectent la langue et le jeu de caractère pour la ligne de commande et différents éléments d'interface.<br/>Le paramètre actuel est <strong>%1</strong>. + + + &Cancel + &Annuler + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ L'installateur se fermera et les changements seront perdus. Installer le chargeur de démarrage sur: - + Are you sure you want to create a new partition table on %1? Êtes-vous sûr de vouloir créer une nouvelle table de partitionnement sur %1 ? diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index 084dd832b..c13bcf67f 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index 176532c78..8e0de1ee5 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -2,18 +2,18 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. O <strong> entorno de arranque </strong> do sistema. <br><br> Os sistemas x86 antigos só soportan <strong> BIOS </strong>.<br> Os sistemas modernos empregan normalmente <strong> EFI </strong>, pero tamén poden arrincar como BIOS se funcionan no modo de compatibilidade. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Este sistema arrincou con <strong> EFI </strong> como entorno de arranque.<br><br> Para configurar o arranque dende un entorno EFI, este instalador debe configurar un cargador de arranque, como <strong>GRUB</strong> ou <strong>systemd-boot</strong> nunha <strong> Partición de Sistema EFI</strong>. Este proceso é automático, salvo que escolla particionamento manual. Nese caso deberá escoller unha existente ou crear unha pola súa conta. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Este sistema arrincou con <strong> BIOS </strong> como entorno de arranque.<br><br> Para configurar o arranque dende un entorno BIOS, este instalador debe configurar un cargador de arranque, como <strong>GRUB</strong>, ben ó comezo dunha partición ou no <strong>Master Boot Record</strong> preto do inicio da táboa de particións (recomendado). Este proceso é automático, salvo que escolla particionamento manual, nese caso deberá configuralo pola súa conta. @@ -71,18 +71,18 @@ Type: - + Tipo: none - + Non Interface: - + Interface @@ -241,7 +241,7 @@ Saída: Cancel installation without changing the system. - + Cancela-la instalación sen cambia-lo sistema @@ -258,17 +258,17 @@ O instalador pecharase e perderanse todos os cambios. &Yes - + &Si &No - + &Non &Close - + &Pechar @@ -293,12 +293,12 @@ O instalador pecharase e perderanse todos os cambios. &Done - + &Feito The installation is complete. Close the installer. - + Completouse a instalacion. Peche o instalador @@ -554,7 +554,7 @@ O instalador pecharase e perderanse todos os cambios. MiB - + MiB @@ -592,29 +592,29 @@ O instalador pecharase e perderanse todos os cambios. &Tamaño: - + En&crypt Encriptar - + Logical Lóxica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. - + Punto de montaxe xa en uso. Faga o favor de escoller outro @@ -825,34 +825,34 @@ O instalador pecharase e perderanse todos os cambios. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. - + O tipo de <strong>táboa de partición</strong>no dispositivo de almacenamento escollido.<br><br>O único xeito de cambia-lo tipo de partición é borrar e volver a crear a táboa de partición dende o comenzo, isto destrúe todolos datos no dispositivo de almacenamento. <br> Este instalador manterá a táboa de partición actúal agás que escolla outra cousa explicitamente. <br> Se non está seguro, en sistemas modernos é preferibel GPT. This device has a <strong>%1</strong> partition table. - + O dispositivo ten <strong>%1</strong> una táboa de partición. This is a <strong>loop</strong> device.<br><br>It is a pseudo-device with no partition table that makes a file accessible as a block device. This kind of setup usually only contains a single filesystem. - + Este é un dispositivo de tipo <strong>loop</strong>. <br><br> É un pseudo-dispositivo que non ten táboa de partición que permita acceder aos ficheiros como un dispositivo de bloques. Este,modo de configuración normalmente so contén un sistema de ficheiros individual. This installer <strong>cannot detect a partition table</strong> on the selected storage device.<br><br>The device either has no partition table, or the partition table is corrupted or of an unknown type.<br>This installer can create a new partition table for you, either automatically, or through the manual partitioning page. - + Este instalador <strong>non pode detectar unha táboa de partición </strong>no sistema de almacenamento seleccionado. <br><br>O dispositivo non ten táboa de particion ou a táboa de partición está corrompida ou é dun tipo descoñecido.<br>Este instalador poder crear una táboa de partición nova por vóstede, ben automaticamente ou a través de páxina de particionamento a man. <br><br>This is the recommended partition table type for modern systems which start from an <strong>EFI</strong> boot environment. - + <br><br>Este é o tipo de táboa de partición recomendada para sistema modernos que empezan dende un sistema de arranque <strong>EFI</strong>. <br><br>This partition table type is only advisable on older systems which start from a <strong>BIOS</strong> boot environment. GPT is recommended in most other cases.<br><br><strong>Warning:</strong> the MBR partition table is an obsolete MS-DOS era standard.<br>Only 4 <em>primary</em> partitions may be created, and of those 4, one can be an <em>extended</em> partition, which may in turn contain many <em>logical</em> partitions. - + <br><br>Esta táboa de partición so é recomendabel en sistemas vellos que empezan dende un sistema de arranque <strong>BIOS</strong>. GPT é recomendabel na meirande parte dos outros casos.<br><br><strong>Atención:</strong>A táboa de partición MBR é un estándar obsoleto da época do MS-DOS.<br>So pódense crear 4 particións <em>primarias</em>, e desas 4, una pode ser unha partición<em>extensa</em>, que pode conter muitas particións <em>lóxicas</em>. @@ -868,17 +868,17 @@ O instalador pecharase e perderanse todos os cambios. Write LUKS configuration for Dracut to %1 - + Escribila configuración LUKS para Dracut en %1 Skip writing LUKS configuration for Dracut: "/" partition is not encrypted - + Saltando escribila configuración LUKS para Dracut: A partición "/" non está encriptada Failed to open %1 - + Fallou ao abrir %1 @@ -894,27 +894,27 @@ O instalador pecharase e perderanse todos os cambios. Edit Existing Partition - + Editar unha partición existente Content: - + Contido: &Keep - + &Gardar Format - + Formato Warning: Formatting the partition will erase all existing data. - + Atención: Dar formato á partición borrará tódolos datos existentes. @@ -929,22 +929,22 @@ O instalador pecharase e perderanse todos os cambios. MiB - + MiB Fi&le System: - + Sistema de Ficheiros: Flags: - + Bandeiras: - + Mountpoint already in use. Please select another one. - + Punto de montaxe xa en uso. Faga o favor de escoller outro. @@ -952,27 +952,27 @@ O instalador pecharase e perderanse todos os cambios. Form - + Formulario En&crypt system - + En&criptar sistema Passphrase - + Frase de contrasinal Confirm passphrase - + Confirme a frase de contrasinal - + Please enter the same passphrase in both boxes. - + Faga o favor de introducila a misma frase de contrasinal námbalas dúas caixas. @@ -980,37 +980,37 @@ O instalador pecharase e perderanse todos os cambios. Set partition information - + Poñela información da partición Install %1 on <strong>new</strong> %2 system partition. - + Instalar %1 nunha <strong>nova</strong> partición do sistema %2 Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Configure unha <strong>nova</strong> partición %2 con punto de montaxe <strong>%1</strong>. Install %2 on %3 system partition <strong>%1</strong>. - + Instalar %2 na partición do sistema %3 <strong>%1</strong>. Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Configurala partición %3 <strong>%1</strong> con punto de montaxe <strong>%2</strong>. Install boot loader on <strong>%1</strong>. - + Instalar o cargador de arranque en <strong>%1</strong>. Setting up mount points. - + Configuralos puntos de montaxe. @@ -1023,35 +1023,35 @@ O instalador pecharase e perderanse todos os cambios. &Restart now - + &Reiniciar agora. <h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment. - + <h1>Todo feito.</h1><br/>%1 foi instalado na súa computadora.<br/>Agora pode reiniciar no seu novo sistema ou continuar a usalo entorno Live %2. <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. - + <h1>Fallou a instalación</h1><br/>%1 non se pudo instalar na sua computadora. <br/>A mensaxe de erro foi: %2. FinishedViewStep - + Finish - + Fin - + Installation Complete - + Instalacion completa - + The installation of %1 is complete. - + Completouse a instalación de %1 @@ -1059,22 +1059,22 @@ O instalador pecharase e perderanse todos os cambios. Format partition %1 (file system: %2, size: %3 MB) on %4. - + Formato da partición %1 (sistema de ficheiros: %2, tamaño: %3 MB) en %4. Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formato <strong>%3MB</strong> partición <strong>%1</strong> con sistema de ficheiros <strong>%2</strong>. Formatting partition %1 with file system %2. - + Dando formato a %1 con sistema de ficheiros %2. The installer failed to format partition %1 on disk '%2'. - + O instalador fallou cando formateaba a partición %1 no disco '%2'. @@ -1104,19 +1104,19 @@ O instalador pecharase e perderanse todos os cambios. Konsole not installed - + Konsole non está instalado Please install the kde konsole and try again! - + Faga o favor de instalar konsole (de kde) e probe de novo! Executing script: &nbsp;<code>%1</code> - + Executando o script: &nbsp; <code>%1</code> @@ -1132,12 +1132,12 @@ O instalador pecharase e perderanse todos os cambios. Set keyboard model to %1.<br/> - + Seleccionado modelo de teclado a %1.<br/> Set keyboard layout to %1/%2. - + Seleccionada a disposición do teclado a %1/%2. @@ -1145,7 +1145,7 @@ O instalador pecharase e perderanse todos os cambios. Keyboard - + Teclado @@ -1153,12 +1153,22 @@ O instalador pecharase e perderanse todos os cambios. System locale setting - + Configuración da localización The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + A configuración de localización afecta a linguaxe e o conxunto de caracteres dalgúns elementos da interface de usuario de liña de comandos. <br/>A configuración actúal é <strong>%1</strong>. + + + + &Cancel + &Cancelar + + + + &OK + &Ok @@ -1171,33 +1181,33 @@ O instalador pecharase e perderanse todos os cambios. I accept the terms and conditions above. - + Acepto os termos e condicións anteriores. <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + <h1>Acordo de licencia</h1>Este proceso de configuración instalará programas privativos suxeito a termos de licencia. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + Faga o favor de revisalos Acordos de Licencia de Usuario Final (ALUF) seguintes. <br/>De non estar dacordo cos termos non se pode seguir co proceso de configuración. <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + <h1>Acordo de licencia</h1>Este proceso de configuración pode instalar programas privativos suxeito a termos de licencia para fornecer características adicionaís e mellorala experiencia do usuario. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. - + Faga o favor de revisalos Acordos de Licencia de Usuario Final (ALUF) seguintes. <br/>De non estar dacordo cos termos non se instalará o programa privativo e no seu lugar usaranse alternativas de código aberto. <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>dispositivo %1</strong><br/>por %2 @@ -1576,7 +1586,7 @@ O instalador pecharase e perderanse todos os cambios. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index c712f7d41..bcd5e8198 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index ef7f1d585..331444e27 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>תצורת האתחול</strong> של מערכת זו. <br><br> מערכות x86 ישנות יותר תומכות אך ורק ב <strong>BIOS</strong>.<br> מערכות חדשות משתמשות בדרך כלל ב <strong>EFI</strong>, אך יכולות להיות מוצגות כ BIOS במידה והן מופעלות במצב תאימות לאחור. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. מערכת זו הופעלה בתצורת אתחול <strong>EFI</strong>.<br><br> בכדי להגדיר הפעלה מתצורת אתחול EFI, על אשף ההתקנה להתקין מנהל אתחול מערכת, לדוגמה <strong>GRUB</strong> או <strong>systemd-boot</strong> על <strong>מחיצת מערכת EFI</strong>. פעולה זו היא אוטומטית, אלא אם כן תבחר להגדיר מחיצות באופן ידני, במקרה זה עליך לבחור זאת או להגדיר בעצמך. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. מערכת זו הופעלה בתצורת אתחול <strong>BIOS</strong>.<br><br> בכדי להגדיר הפעלה מתצורת אתחול BIOS, על אשף ההתקנה להתקין מנהל אתחול מערכת, לדוגמה <strong>GRUB</strong>, בתחלית מחיצה או על ה <strong>Master Boot Record</strong> בצמוד להתחלה של טבלת המחיצות (מועדף). פעולה זו היא אוטומטית, אלא אם כן תבחר להגדיר מחיצות באופן ידני, במקרה זה עליך להגדיר זאת בעצמך. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. גו&דל: - + En&crypt ה&צפן - + Logical לוגי - + Primary ראשי - + GPT GPT - + Mountpoint already in use. Please select another one. נקודת העיגון בשימוש. אנא בחר נקודת עיגון אחרת. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. סוג <strong>טבלת המחיצות</strong> על התקן האחסון הנבחר.<br><br> הדרך היחידה לשנות את סוג טבלת המחיצות היא למחוק וליצור מחדש את טבלת המחיצות, אשר דורסת את כל המידע הקיים על התקן האחסון.<br> אשף ההתקנה ישמור את טבלת המחיצות הקיימת אלא אם כן תבחר אחרת במפורש.<br> במידה ואינך בטוח, במערכות מודרניות, GPT הוא הסוג המועדף. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. סימונים: - + Mountpoint already in use. Please select another one. נקודת העיגון בשימוש. אנא בחר נקודת עיגון אחרת. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. אשר ביטוי אבטחה - + Please enter the same passphrase in both boxes. אנא הכנס ביטוי אבטחה זהה בשני התאים. @@ -1022,7 +1022,7 @@ The installer will quit and all changes will be lost. &Restart now - %אתחל כעת + &אתחל כעת @@ -1038,19 +1038,19 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish סיום - + Installation Complete - + ההתקנה הושלמה - + The installation of %1 is complete. - + ההתקנה של %1 הושלמה. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. הגדרת מיקום המערכת משפיעה על השפה וקידוד התווים של חלק מרכיבי ממשקי שורת פקודה למשתמש. <br/> ההגדרה הנוכחית היא <strong>%1</strong>. + + + &Cancel + &ביטול + + + + &OK + &אישור + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. התקן &מנהל אתחול מערכת על: - + Are you sure you want to create a new partition table on %1? האם אתה בטוח שברצונך ליצור טבלת מחיצות חדשה על %1? @@ -1842,7 +1852,7 @@ The installer will quit and all changes will be lost. The installer is not running with administrator rights. - מנהל ההתקנה לא רץ עם הרשאות מנהל. + אשף ההתקנה לא רץ עם הרשאות מנהל. diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index ba56e2467..4aac00ddc 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index fa730af32..6d40a25d4 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Boot okruženje</strong> sustava.<br><br>Stariji x86 sustavi jedino podržavaju <strong>BIOS</strong>.<br>Noviji sustavi uglavnom koriste <strong>EFI</strong>, ali mogu podržavati i BIOS ako su pokrenuti u načinu kompatibilnosti. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Ovaj sustav koristi <strong>EFI</strong> okruženje.<br><br>Za konfiguriranje pokretanja iz EFI okruženja, ovaj instalacijski program mora uvesti boot učitavač, kao što je <strong>GRUB</strong> ili <strong>systemd-boot</strong> na <strong>EFI particiju</strong>. To se odvija automatski, osim ako ste odabrali ručno particioniranje. U tom slučaju to ćete morati odabrati ili stvoriti sami. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Ovaj sustav koristi <strong>BIOS</strong> okruženje.<br><br>Za konfiguriranje pokretanja iz BIOS okruženja, ovaj instalacijski program mora uvesti boot učitavač, kao što je <strong>GRUB</strong>, ili na početku particije ili na <strong>Master Boot Record</strong> blizu početka particijske tablice (preporučen način). To se odvija automatski, osim ako ste odabrali ručno particioniranje. U tom slučaju to ćete morati napraviti sami. @@ -591,27 +591,27 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Ve&ličina: - + En&crypt Ši&friraj - + Logical Logično - + Primary Primarno - + GPT GPT - + Mountpoint already in use. Please select another one. Točka montiranja se već koristi. Odaberite drugu. @@ -824,7 +824,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Tip <strong>particijske tablice</strong> na odabranom disku.<br><br>Jedini način da bi ste promijenili tip particijske tablice je da obrišete i iznova stvorite particijsku tablicu. To će uništiiti sve podatke na disku.<br>Instalacijski program će zadržati postojeću particijsku tablicu osim ako ne odaberete drugačije.<br>Ako niste sigurni, na novijim sustavima GPT je preporučena particijska tablica. @@ -941,7 +941,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Oznake: - + Mountpoint already in use. Please select another one. Točka montiranja se već koristi. Odaberite drugu. @@ -969,7 +969,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Potvrdi lozinku - + Please enter the same passphrase in both boxes. Molimo unesite istu lozinku u oba polja. @@ -1038,19 +1038,19 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. FinishedViewStep - + Finish Završi - + Installation Complete - + Instalacija je završena - + The installation of %1 is complete. - + Instalacija %1 je završena. @@ -1159,6 +1159,16 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Jezična shema sustava ima efekt na jezični i znakovni skup za neke komandno linijske elemente sučelja.<br/>Trenutačna postavka je <strong>%1</strong>. + + + &Cancel + &Odustani + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Instaliraj boot &učitavač na: - + Are you sure you want to create a new partition table on %1? Jeste li sigurni da želite stvoriti novu particijsku tablicu na %1? diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index 5384aead9..32af46f3c 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. A rendszer <strong>indító környezete.<strong> <br><br>Régebbi x86 alapú rendszerek csak <strong>BIOS</strong><br>-t támogatják. A modern rendszerek gyakran <strong>EFI</strong>-t használnak, de lehet, hogy BIOS-ként látható ha kompatibilitási módban fut az indító környezet. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. A rendszer <strong>EFI</strong> indító környezettel lett indítva.<br><br>Annak érdekében, hogy az EFI környezetből indíthassunk a telepítőnek telepítenie kell a rendszerbetöltő alkalmazást pl. <strong>GRUB</strong> vagy <strong>systemd-boot</strong> az <strong>EFI Rendszer Partíción.</strong> Ez automatikus kivéve ha kézi partícionálást választottál ahol neked kell kiválasztani vagy létrehozni. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. A rendszer <strong>BIOS</strong> környezetből lett indítva. <br><br>Azért, hogy el lehessen indítani a rendszert egy BIOS környezetből a telepítőnek telepítenie kell egy indító környezetet mint pl. <strong>GRUB</strong>. Ez telepíthető a partíció elejére vagy a <strong>Master Boot Record</strong>-ba. javasolt a partíciós tábla elejére (javasolt). Ez automatikus kivéve ha te kézi partícionálást választottál ahol neked kell telepíteni. @@ -240,7 +240,7 @@ Kimenet: Cancel installation without changing the system. - + Kilépés a telepítőből a rendszer megváltoztatása nélkül. @@ -257,17 +257,17 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. &Yes - + &Igen &No - + @Nem &Close - + &Bezár @@ -292,12 +292,12 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. &Done - + &Befejez The installation is complete. Close the installer. - + A telepítés befejeződött, kattints a bezárásra. @@ -554,7 +554,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l MiB - + MiB @@ -592,27 +592,27 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Mé&ret: - + En&crypt Titkosítás - + Logical Logikai - + Primary Elsődleges - + GPT GPT - + Mountpoint already in use. Please select another one. A csatolási pont már használatban van. Kérem, válassz másikat. @@ -825,7 +825,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. A <strong>partíciós tábla</strong> típusa a kiválasztott tárolóeszközön.<br><br>Az egyetlen lehetőség a partíciós tábla változtatására ha töröljük és újra létrehozzuk a partíciós táblát, ami megsemmisít minden adatot a tárolóeszközön.<br>A telepítő megtartja az aktuális partíciós táblát ha csak másképp nem döntesz.<br>Ha nem vagy benne biztos a legtöbb modern rendszernél GPT az elterjedt. @@ -929,7 +929,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l MiB - + MiB @@ -942,7 +942,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Zászlók: - + Mountpoint already in use. Please select another one. A csatolási pont már használatban van. Kérem, válassz másikat. @@ -970,7 +970,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Jelszó megerősítés - + Please enter the same passphrase in both boxes. Írd be ugyanazt a jelmondatot mindkét dobozban. @@ -1033,25 +1033,25 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. - + <h1>A telepítés hibába ütközött.</h1><br/>%1 nem lett telepítve a számítógépre.<br/>A hibaüzenet: %2. FinishedViewStep - + Finish Befejezés - + Installation Complete - + A telepítés befejeződött. - + The installation of %1 is complete. - + A %1 telepítése elkészült. @@ -1160,6 +1160,16 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. A nyelvi beállítás kihat a nyelvi és karakter beállításokra a parancssori elemeknél.<br/>A jelenlegi beállítás <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1576,7 +1586,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l &Rendszerbetöltő telepítése ide: - + Are you sure you want to create a new partition table on %1? Biztos vagy benne, hogy létrehozol egy új partíciós táblát itt %1 ? @@ -1848,7 +1858,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l The screen is too small to display the installer. - + A képernyő túl kicsi a telepítőnek. @@ -2261,7 +2271,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Üdvözlet a Calamares %1 telepítőjében.</h1> @@ -2271,7 +2281,8 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Minden jog fenntartva 2014-2017 Teo Mrnjavac <teo@kde.org>;<br/>Minden jog fenntartva 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Köszönet: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Philip Müller, Pier Luigi Fiorini and Rohan Garg és a <a href="https://www.transifex.com/calamares/calamares/" Calamares Fordító Csapat/a>. +<br/><a href="http://calamares.io/">Calamares</a> fejlesztés támogatói:<br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index da2526095..53831e57b 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Lingkungan boot</strong> pada sistem ini.<br><br>Sistem x86 kuno hanya mendukung <strong>BIOS</strong>.<br>Sistem moderen biasanya menggunakan <strong>EFI</strong>, tapi mungkin juga tampak sebagai BIOS jika dimulai dalam mode kompatibilitas. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Sistem ini telah dimulai dengan lingkungan boot <strong>EFI</strong>.<br><br>Untuk mengkonfigurasi startup dari lingkungan EFI, pemasang ini seharusnya memaparkan sebuah aplikasi boot loader, seperti <strong>GRUB</strong> atau <strong>systemd-boot</strong> pada sebuah <strong>EFI System Partition</strong>. Ini adalah otomatis, kecuali kalau kamu memilih pemartisian manual, dalam beberapa kasus kamu harus memilihnya atau menciptakannya pada milikmu. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Sistem ini dimulai dengan sebuah lingkungan boot <strong>BIOS</strong>.<br><br>Untuk mengkonfigurasi startup dari sebuah lingkungan BIOS, pemasang ini seharusnya memasang sebuah boot loader, seperti <strong>GRUB</strong>, baik di awal partisi atau pada <strong>Master Boot Record</strong> di dekat awalan tabel partisi (yang disukai). Ini adalah otomatis, kecuali kalau kamu memilih pemartisian manual, dalam beberapa kasus kamu harus menyetelnya pada milikmu. @@ -593,27 +593,27 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Uku&ran: - + En&crypt Enkripsi - + Logical Logikal - + Primary Utama - + GPT GPT - + Mountpoint already in use. Please select another one. Titik-kait sudah digunakan. Silakan pilih yang lainnya. @@ -826,7 +826,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Tipe dari <strong>tabel partisi</strong> pada perangkat penyimpanan terpilih.<br><br>Satu-satunya cara untuk mengubah tabel partisi adalah dengan menyetip dan menciptakan ulang tabel partisi dari awal, yang melenyapkan semua data pada perangkat penyimpanan.<br>Pemasang ini akan menjaga tabel partisi saat ini kecuali kamu secara gamblang memilih sebaliknya.<br>Jika tidak yakin, pada sistem GPT modern lebih disukai. @@ -943,7 +943,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Bendera: - + Mountpoint already in use. Please select another one. Titik-kait sudah digunakan. Silakan pilih yang lainnya. @@ -971,7 +971,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Konfirmasi kata sandi - + Please enter the same passphrase in both boxes. Silakan masukkan kata sandi yang sama di kedua kotak. @@ -1040,19 +1040,19 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. FinishedViewStep - + Finish Selesai - + Installation Complete - + Pemasangan Lengkap - + The installation of %1 is complete. - + Pemasangan %1 telah lengkap. @@ -1161,6 +1161,16 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Pengaturan system locale berpengaruh pada bahasa dan karakter pada beberapa elemen antarmuka Command Line. <br/>Pengaturan saat ini adalah <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1577,7 +1587,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Pasang boot %loader pada: - + Are you sure you want to create a new partition table on %1? Apakah Anda yakin ingin membuat tabel partisi baru pada %1? diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index 3e52dc86c..bab0ad264 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. St&ærð: - + En&crypt &Dulrita - + Logical Rökleg - + Primary Aðal - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Flögg: - + Mountpoint already in use. Please select another one. Tengipunktur er þegar í notkun. Veldu einhvern annan. @@ -969,7 +969,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Staðfesta lykilorð - + Please enter the same passphrase in both boxes. Vinsamlegast sláðu inn sama lykilorðið í báða kassana. @@ -1038,19 +1038,19 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. FinishedViewStep - + Finish Ljúka - + Installation Complete - + Uppsetningu lokið - + The installation of %1 is complete. - + Uppsetningu af %1 er lokið. @@ -1159,6 +1159,16 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + &Hætta við + + + + &OK + &Í lagi + LicensePage @@ -1575,7 +1585,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Setja upp ræsistjóran á: - + Are you sure you want to create a new partition table on %1? Ertu viss um að þú viljir búa til nýja disksneið á %1? @@ -1847,7 +1857,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. The screen is too small to display the installer. - + Skjárinn er of lítill til að birta uppsetningarforritið. diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index cbf862ca5..18d89b0db 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. L'<strong>ambiente di avvio</strong> di questo sistema. <br><br>I vecchi sistemi x86 supportano solo <strong>BIOS</strong>. <bt>I sistemi moderni normalmente usano <strong>EFI</strong> ma possono anche usare BIOS se l'avvio viene eseguito in modalità compatibile. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Il sistema è stato avviato con un ambiente di boot <strong>EFI</strong>.<br><br>Per configurare l'avvio da un ambiente EFI, il programma d'installazione deve inserire un boot loader come <strong>GRUB</strong> o <strong>systemd-boot</strong> su una <strong>EFI System Partition</strong>. Ciò avviene automaticamente, a meno che non si scelga il partizionamento manuale che permette di scegliere un proprio boot loader personale. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. ll sistema è stato avviato con un ambiente di boot <strong>BIOS</strong>.<br><br>Per configurare l'avvio da un ambiente BIOS, il programma d'installazione deve installare un boot loader come <strong>GRUB</strong> all'inizio di una partizione o nel <strong>Master Boot Record</strong> vicino all'origine della tabella delle partizioni (preferito). Ciò avviene automaticamente, a meno che non si scelga il partizionamento manuale che permette di fare una configurazione personale. @@ -591,27 +591,27 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno &Dimensione: - + En&crypt Cr&iptare - + Logical Logica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. Il punto di mount è già in uso. Sceglierne un altro. @@ -824,7 +824,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Il tipo di <strong>tabella delle partizioni</strong> attualmente presente sul dispositivo di memoria selezionato.<br><br>L'unico modo per cambiare il tipo di tabella delle partizioni è quello di cancellarla e ricrearla da capo, distruggendo tutti i dati sul dispositivo.<br>Il programma di installazione conserverà l'attuale tabella a meno che no si scelga diversamente.<br>Se non si è sicuri, sui sistemi moderni si preferisce GPT. @@ -941,7 +941,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Flag: - + Mountpoint already in use. Please select another one. Il punto di mount è già in uso. Sceglierne un altro. @@ -969,7 +969,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Confermare frase di accesso - + Please enter the same passphrase in both boxes. Si prega di immettere la stessa frase di accesso in entrambi i riquadri. @@ -1038,17 +1038,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno FinishedViewStep - + Finish Termina - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Le impostazioni di localizzazione del sistema influenzano la lingua e il set di caratteri per alcuni elementi di interfaccia da linea di comando. <br/>L'impostazione attuale è <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Installare il boot &loader su: - + Are you sure you want to create a new partition table on %1? Si è sicuri di voler creare una nuova tabella delle partizioni su %1? diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index c14605a34..320cfa3b0 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. このシステムの <strong>ブート環境。</strong><br><br>古いx86システムは<strong>BIOS</strong>のみサポートしています。<br>最近のシステムは通常<strong>EFI</strong>を使用しますが、互換モードが起動できる場合はBIOSが現れる場合もあります。 - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. このシステムは<strong>EFI</strong> ブート環境で起動しました。<br><br>EFI環境からの起動について設定するためには、<strong>EFI システムパーティション</strong>に <strong>GRUB</strong> あるいは <strong>systemd-boot</strong> といったブートローダーアプリケーションを配置しなければなりません。手動によるパーティショニングを選択する場合、EFI システムパーティションを選択あるいは作成しなければなりません。そうでない場合は、この操作は自動的に行われます。 - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. このシステムは <strong>BIOS</strong> ブート環境で起動しました。<br><br> BIOS環境からの起動について設定するためには、パーティションの開始位置あるいはパーティションテーブルの開始位置の近く(推奨)にある<strong>マスターブートレコード</strong>に <strong>GRUB</strong> のようなブートローダーをインストールしなければなりません。手動によるパーティショニングを選択する場合はユーザー自身で設定しなければなりません。そうでない場合は、この操作は自動的に行われます。 @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. サイズ(&Z) - + En&crypt 暗号化(&C) - + Logical 論理 - + Primary プライマリ - + GPT GPT - + Mountpoint already in use. Please select another one. マウントポイントは既に使用されています。他を選択してください。 @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. 選択したストレージデバイスにおける<strong> パーティションテーブル </strong> の種類。 <br><br> パーティションテーブルの種類を変更する唯一の方法は、パーティションテーブルを消去し、最初から再作成を行うことですが、この操作はストレージ上の全てのデータを破壊します。 <br> このインストーラーは、他の種類へ明示的に変更ししない限り、現在のパーティションテーブルが保持されます。よくわからない場合、最近のシステムではGPTが推奨されます。 @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. フラグ: - + Mountpoint already in use. Please select another one. マウントポイントは既に使用されています。他を選択してください。 @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. パスフレーズの確認 - + Please enter the same passphrase in both boxes. 両方のボックスに同じパスフレーズを入力してください。 @@ -1038,19 +1038,20 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish 終了 - + Installation Complete - + インストールが完了 + - + The installation of %1 is complete. - + %1 のインストールは完了です。 @@ -1159,6 +1160,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. システムロケールの設定はコマンドラインやインターフェース上での言語や文字の表示に影響をおよぼします。<br/>現在の設定 <strong>%1</strong>. + + + &Cancel + 中止(&C) + + + + &OK + 了解(&O) + LicensePage @@ -1575,7 +1586,7 @@ The installer will quit and all changes will be lost. ブートローダーインストール先 (&L): - + Are you sure you want to create a new partition table on %1? %1 上で新しいパーティションテーブルを作成します。よろしいですか? diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index 8475d9847..f8ffbe402 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index 1e67238f9..a69a9ee43 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index d71a2f1d9..47f0f9263 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. Šios sistemos <strong>paleidimo aplinka</strong>.<br><br>Senesnės x86 sistemos palaiko tik <strong>BIOS</strong>.<br>Šiuolaikinės sistemos, dažniausiai, naudoja <strong>EFI</strong>, tačiau, jeigu jos yra paleistos suderinamumo veiksenoje, taip pat gali būti rodomos kaip BIOS. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Ši sistema buvo paleista su <strong>EFI</strong> paleidimo aplinka.<br><br>Tam, kad sukonfigūruotų paleidimą iš EFI aplinkos, ši diegimo programa, <strong>EFI sistemos skaidinyje</strong>, privalo išskleisti paleidyklės programą, kaip, pavyzdžiui, <strong>GRUB</strong> ar <strong>systemd-boot</strong>. Tai vyks automatiškai, nebent pasirinksite rankinį skaidymą ir tokiu atveju patys turėsite pasirinkti arba sukurti skaidinį. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Ši sistema buvo paleista su <strong>BIOS</strong> paleidimo aplinka.<br><br>Tam, kad sukonfigūruotų paleidimą iš BIOS aplinkos, ši diegimo programa, arba skaidinio pradžioje, arba <strong>Paleidimo įraše (MBR)</strong>, šalia skaidinių lentelės pradžios (pageidautina), privalo įdiegti paleidyklę, kaip, pavyzdžiui, <strong>GRUB</strong>. Tai vyks automatiškai, nebent pasirinksite rankinį skaidymą ir tokiu atveju, viską turėsite nusistatyti patys. @@ -591,27 +591,27 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. D&ydis: - + En&crypt Užši&fruoti - + Logical Loginė - + Primary Pagrindinė - + GPT GPT - + Mountpoint already in use. Please select another one. Prijungimo taškas jau yra naudojamas. Prašome pasirinkti kitą. @@ -824,7 +824,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Pasirinktame atminties įrenginyje esančios, <strong>skaidinių lentelės</strong> tipas.<br><br>Vienintelis būdas kaip galima pakeisti skaidinių lentelės tipą yra ištrinti ir iš naujo sukurti skaidinių lentelę, kas savo ruožtu ištrina visus atminties įrenginyje esančius duomenis.<br>Ši diegimo programa paliks esamą skaidinių lentelę, nebent aiškiai pasirinksite kitaip.<br>Jeigu nesate tikri, šiuolaikinėse sistemose pirmenybė yra teikiama GPT tipui. @@ -941,7 +941,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Vėliavėlės: - + Mountpoint already in use. Please select another one. Prijungimo taškas jau yra naudojamas. Prašome pasirinkti kitą. @@ -969,7 +969,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Patvirtinkite slaptafrazę - + Please enter the same passphrase in both boxes. Prašome abiejuose langeliuose įrašyti tą pačią slaptafrazę. @@ -1038,19 +1038,19 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. FinishedViewStep - + Finish Pabaiga - + Installation Complete - + Diegimas užbaigtas - + The installation of %1 is complete. - + %1 diegimas yra užbaigtas. @@ -1159,6 +1159,16 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Sistemos lokalės nustatymas įtakoja, kai kurių komandų eilutės naudotojo sąsajos elementų, kalbos ir simbolių rinkinį.<br/>Dabar yra nustatyta <strong>%1</strong>. + + + &Cancel + &Atsisakyti + + + + &OK + &Gerai + LicensePage @@ -1575,7 +1585,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Įdiegti pa&leidyklę skaidinyje: - + Are you sure you want to create a new partition table on %1? Ar tikrai %1 norite sukurti naują skaidinių lentelę? diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index 9109e67e3..0fdff01e4 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index 7ca25af07..653e83df8 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.St&ørrelse: - + En&crypt - + Logical Logisk - + Primary Primær - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index 3d8976133..246f086e7 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. De <strong>opstartomgeving</strong> van dit systeem.<br><br>Oudere x86-systemen ondersteunen enkel <strong>BIOS</strong>.<br>Moderne systemen gebruiken meestal <strong>EFI</strong>, maar kunnen ook als BIOS verschijnen als in compatibiliteitsmodus opgestart werd. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Dit systeem werd opgestart met een <strong>EFI</strong>-opstartomgeving.<br><br>Om het opstarten vanaf een EFI-omgeving te configureren moet dit installatieprogramma een bootloader instellen, zoals <strong>GRUB</strong> of <strong>systemd-boot</strong> op een <strong>EFI-systeempartitie</strong>. Dit gebeurt automatisch, tenzij je voor manueel partitioneren kiest, waar je het moet aanvinken of het zelf aanmaken. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Dit systeem werd opgestart met een <strong>BIOS</strong>-opstartomgeving.<br><br>Om het opstarten vanaf een BIOS-omgeving te configureren moet dit installatieprogramma een bootloader installeren, zoals <strong>GRUB</strong>, ofwel op het begin van een partitie ofwel op de <strong>Master Boot Record</strong> bij het begin van de partitietabel (bij voorkeur). Dit gebeurt automatisch, tenzij je voor manueel partitioneren kiest, waar je het zelf moet aanmaken. @@ -591,27 +591,27 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. &Grootte: - + En&crypt &Versleutelen - + Logical Logisch - + Primary Primair - + GPT GPT - + Mountpoint already in use. Please select another one. Aankoppelpunt reeds in gebruik. Gelieve een andere te kiezen. @@ -824,7 +824,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Het type van <strong>partitietabel</strong> op het geselecteerde opslagmedium.<br><br>Om het type partitietabel te wijzigen, dien je deze te verwijderen en opnieuw aan te maken, wat alle gegevens op het opslagmedium vernietigt.<br>Het installatieprogramma zal de huidige partitietabel behouden tenzij je expliciet anders verkiest.<br>Bij twijfel wordt aangeraden GPT te gebruiken op moderne systemen. @@ -941,7 +941,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Vlaggen: - + Mountpoint already in use. Please select another one. Aankoppelpunt reeds in gebruik. Gelieve een andere te kiezen. @@ -969,7 +969,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Bevestig wachtwoordzin - + Please enter the same passphrase in both boxes. Gelieve in beide velden dezelfde wachtwoordzin in te vullen. @@ -1038,19 +1038,19 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. FinishedViewStep - + Finish Beëindigen - + Installation Complete - + Installatie Afgerond. - + The installation of %1 is complete. - + De installatie van %1 is afgerond. @@ -1159,6 +1159,16 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. De landinstellingen bepalen de taal en het tekenset voor sommige opdrachtregelelementen.<br/>De huidige instelling is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Installeer boot&loader op: - + Are you sure you want to create a new partition table on %1? Weet u zeker dat u een nieuwe partitie tabel wil maken op %1? diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index c74dbabf1..806c28a7a 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Środowisko uruchomieniowe</strong> systemu.<br><br>Starsze systemy x86 obsługują tylko <strong>BIOS</strong>.<br>Nowoczesne systemy zwykle używają <strong>EFI</strong>, lecz możliwe jest również ukazanie się BIOS, jeśli działa w trybie kompatybilnym. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Ten system został uruchomiony w środowisku rozruchowym <strong>EFI</strong>.<br><br>Aby skonfigurować uruchomienie ze środowiska EFI, instalator musi wdrożyć aplikację programu rozruchowego, takiego jak <strong>GRUB</strong> lub <strong>systemd-boot</strong> na <strong>Partycji Systemu EFI</strong>. Jest to automatyczne, chyba że wybierasz ręczne partycjonowanie, a w takim przypadku musisz wybrać ją lub utworzyć osobiście. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Ten system został uruchomiony w środowisku rozruchowym <strong>BIOS</strong>.<br><br>Aby skonfigurować uruchomienie ze środowiska BIOS, instalator musi zainstalować program rozruchowy, taki jak <strong>GRUB</strong> na początku partycji lub w <strong>Głównym Sektorze Rozruchowym</strong> blisko początku tablicy partycji (preferowane). Jest to automatyczne, chyba że wybierasz ręczne partycjonowanie, a w takim przypadku musisz ustawić ją osobiście. @@ -591,27 +591,27 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Ro&zmiar: - + En&crypt Zaszy%fruj - + Logical Logiczna - + Primary Podstawowa - + GPT GPT - + Mountpoint already in use. Please select another one. Punkt montowania jest już używany. Proszę wybrać inny. @@ -824,7 +824,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Typ <strong>tabeli partycji</strong> na zaznaczonym nośniku danych.<br><br>Jedyną metodą na zmianę tabeli partycji jest jej wyczyszczenie i utworzenie jej od nowa, co spowoduje utratę wszystkich danych.<br>Ten instalator zachowa obecną tabelę partycji, jeżeli nie wybierzesz innej opcji.<br>W wypadku niepewności, w nowszych systemach zalecany jest GPT. @@ -941,7 +941,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Flagi: - + Mountpoint already in use. Please select another one. Punkt montowania jest już używany. Proszę wybrać inny. @@ -969,7 +969,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Potwierdź hasło - + Please enter the same passphrase in both boxes. Użyj tego samego hasła w obu polach. @@ -1038,19 +1038,19 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. FinishedViewStep - + Finish Koniec - + Installation Complete - + Instalacja zakończona - + The installation of %1 is complete. - + Instalacja %1 ukończyła się pomyślnie. @@ -1159,6 +1159,16 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Systemowe ustawienia lokalne wpływają na ustawienia języka i znaków w niektórych elementach wiersza poleceń interfejsu użytkownika.<br/>Bieżące ustawienie to <strong>%1</strong>. + + + &Cancel + &Anuluj + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Zainsta&luj program rozruchowy na: - + Are you sure you want to create a new partition table on %1? Czy na pewno chcesz utworzyć nową tablicę partycji na %1? diff --git a/lang/calamares_pl_PL.ts b/lang/calamares_pl_PL.ts index d635c1236..462dd1f70 100644 --- a/lang/calamares_pl_PL.ts +++ b/lang/calamares_pl_PL.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.Ro&zmiar: - + En&crypt - + Logical Logiczna - + Primary Podstawowa - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + Are you sure you want to create a new partition table on %1? Na pewno utworzyć nową tablicę partycji na %1? diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index e2dda139e..bebf1c8b7 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. O <strong>ambiente de inicialização</strong> deste sistema.<br><br>Sistemas x86 antigos têm suporte apenas ao <strong>BIOS</strong>.<br>Sistemas modernos normalmente usam <strong>EFI</strong>, mas também podem mostrar o BIOS se forem iniciados no modo de compatibilidade. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Este sistema foi iniciado com um ambiente de inicialização <strong>EFI</strong>.<br><br>Para configurar o início a partir de um ambiente EFI, este instalador deverá instalar um gerenciador de inicialização, como o <strong>GRUB</strong> ou <strong>systemd-boot</strong> em uma <strong>Partição de Sistema EFI</strong>. Este processo é automático, a não ser que escolha o particionamento manual, que no caso permite-lhe escolher ou criá-lo manualmente. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Este sistema foi iniciado utilizando o <strong>BIOS</strong> como ambiente de inicialização.<br><br>Para configurar a inicialização em um ambiente BIOS, este instalador deve instalar um gerenciador de boot, como o <strong>GRUB</strong>, no começo de uma partição ou no <strong>Master Boot Record</strong>, perto do começo da tabela de partições (recomendado). Este processo é automático, a não ser que você escolha o particionamento manual, onde você deverá configurá-lo manualmente. @@ -364,13 +364,13 @@ O instalador será fechado e todas as alterações serão perdidas. This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - Este computador não satisfaz os requisitos mínimos para a instalação de %1. + Este computador não satisfaz os requisitos mínimos para instalar %1. A instalação não pode continuar.<a href="#details">Detalhes...</a> This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - Este computador não satisfaz alguns dos requisitos recomendados para a instalação de %1. + Este computador não satisfaz alguns dos requisitos recomendados para instalar %1. A instalação pode continuar, mas alguns recursos podem ser desativados. @@ -593,27 +593,27 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Tamanho: - + En&crypt &Criptografar - + Logical Lógica - + Primary Primária - + GPT GPT - + Mountpoint already in use. Please select another one. Ponto de montagem já em uso. Por favor, selecione outro. @@ -676,7 +676,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. What kind of partition table do you want to create? - Você deseja criar que tipo de tabela de partições? + Que tipo de tabela de partições você deseja criar? @@ -826,9 +826,9 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. - O tipo de <strong>tabela de partições</strong> no dispositivo de armazenamento selecionado.<br><br>O único modo de alterar o tipo de tabela de partições é apagar e recriar a mesma do começo, processo o qual exclui todos os dados do dispositivo.<br>Este instalador manterá a atual tabela de partições, a não ser que você escolha o contrário.<br>Em caso de dúvidas, em sistemas modernos o GPT é recomendado. + O tipo de <strong>tabela de partições</strong> no dispositivo de armazenamento selecionado.<br><br>O único modo de alterar o tipo de tabela de partições é apagar e recriar a mesma do começo, processo o qual exclui todos os dados do dispositivo.<br>Este instalador manterá a tabela de partições atual, a não ser que você escolha o contrário.<br>Em caso de dúvidas, em sistemas modernos o GPT é recomendado. @@ -838,7 +838,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. This is a <strong>loop</strong> device.<br><br>It is a pseudo-device with no partition table that makes a file accessible as a block device. This kind of setup usually only contains a single filesystem. - Este é um dispositivo de <strong>loop</strong>.<br><br>Este é um pseudo-dispositivo sem tabela de partições que faz um arquivo acessível como um dispositivo de bloco. Este tipo de configuração apenas contém um único sistema de arquivos. + Este é um dispositivo de <strong>loop</strong>.<br><br>Este é um pseudo-dispositivo sem tabela de partições que faz um arquivo acessível como um dispositivo de bloco. Este tipo de configuração normalmente contém apenas um único sistema de arquivos. @@ -943,7 +943,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Marcadores: - + Mountpoint already in use. Please select another one. Ponto de montagem já em uso. Por favor, selecione outro. @@ -971,7 +971,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Confirme a frase-chave - + Please enter the same passphrase in both boxes. Por favor, insira a mesma frase-chave nos dois campos. @@ -1040,17 +1040,17 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. FinishedViewStep - + Finish Concluir - + Installation Complete Instalação Completa - + The installation of %1 is complete. A instalação do %1 está completa. @@ -1161,6 +1161,16 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. A configuração de localidade do sistema afeta a linguagem e o conjunto de caracteres para algumas linhas de comando e elementos da interface do usuário.<br/>A configuração atual é <strong>%1</strong>. + + + &Cancel + &Cancelar + + + + &OK + &OK + LicensePage @@ -1577,7 +1587,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Insta&lar o gerenciador de inicialização em: - + Are you sure you want to create a new partition table on %1? Você tem certeza de que deseja criar uma nova tabela de partições em %1? diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 5df77de75..6068a7ab0 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. O <strong>ambiente de arranque</strong> deste sistema.<br><br>Sistemas x86 mais antigos apenas suportam <strong>BIOS</strong>.<br>Sistemas modernos normalmente usam <strong>EFI</strong>, mas também podem aparecer como BIOS se iniciados em modo de compatibilidade. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Este sistema foi iniciado com ambiente de arranque<strong>EFI</strong>.<br><br>Para configurar o arranque de um ambiente EFI, o instalador tem de implantar uma aplicação de carregar de arranque, tipo <strong>GRUB</strong> ou <strong>systemd-boot</strong> ou uma <strong>Partição de Sistema EFI</strong>. Isto é automático, a menos que escolha particionamento manual, e nesse caso tem de escolhê-la ou criar uma por si próprio. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Este sistema foi iniciado com um ambiente de arranque <strong>BIOS</strong>.<br><br>Para configurar um arranque de um ambiente BIOS, este instalador tem de instalar um carregador de arranque, tipo <strong>GRUB</strong>, quer no início da partição ou no <strong>Master Boot Record</strong> perto do início da tabela de partições (preferido). Isto é automático, a não ser que escolha particionamento manual, e nesse caso tem de o configurar por si próprio @@ -591,27 +591,27 @@ O instalador será encerrado e todas as alterações serão perdidas.Ta&manho: - + En&crypt En&criptar - + Logical Lógica - + Primary Primária - + GPT GPT - + Mountpoint already in use. Please select another one. Ponto de montagem já em uso. Por favor selecione outro. @@ -824,7 +824,7 @@ O instalador será encerrado e todas as alterações serão perdidas. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. O tipo da <strong>tabela de partições</strong> no dispositivo de armazenamento selecionado.<br><br>A única maneira de mudar o tipo da tabela de partições é apagá-la e recriar a tabela de partições do nada, o que destrói todos os dados no dispositivo de armazenamento.<br>Este instalador manterá a tabela de partições atual a não ser que escolha explicitamente em contrário.<br>Se não tem a certeza, nos sistemas modernos é preferido o GPT. @@ -941,7 +941,7 @@ O instalador será encerrado e todas as alterações serão perdidas.Flags: - + Mountpoint already in use. Please select another one. Ponto de montagem já em uso. Por favor selecione outro. @@ -969,7 +969,7 @@ O instalador será encerrado e todas as alterações serão perdidas.Confirmar frase-chave - + Please enter the same passphrase in both boxes. Por favor insira a mesma frase-passe em ambas as caixas. @@ -1038,19 +1038,19 @@ O instalador será encerrado e todas as alterações serão perdidas. FinishedViewStep - + Finish Finalizar - + Installation Complete - + Instalação Completa - + The installation of %1 is complete. - + A instalação de %1 está completa. @@ -1159,6 +1159,16 @@ O instalador será encerrado e todas as alterações serão perdidas.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. A definição local do sistema afeta o idioma e conjunto de carateres para alguns elementos do interface da linha de comandos.<br/>A definição atual é <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ O instalador será encerrado e todas as alterações serão perdidas.Instalar &carregador de arranque em: - + Are you sure you want to create a new partition table on %1? Tem certeza de que deseja criar uma nova tabela de partições em %1? diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index 1b4b2d7af..9bcbe3aba 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Mediul de boot</strong> al acestui sistem.<br><br>Sisteme x86 mai vechi suportă numai <strong>BIOS</strong>.<br>Sisteme moderne folosesc de obicei <strong>EFI</strong>, dar ar putea fi afișate ca BIOS dacă au fost configurate în modul de compatibilitate. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Acest sistem a fost pornit într-un mediu de boot <strong>EFI</strong>.<br><br>Pentru a configura pornirea dintr-un mediu EFI, acest program de instalare trebuie să creeze o aplicație pentru boot-are, cum ar fi <strong>GRUB</strong> sau <strong>systemd-boot</strong> pe o <strong>partiție de sistem EFI</strong>. Acest pas este automat, cu excepția cazului în care alegeți partiționarea manuală. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Sistemul a fost pornit într-un mediu de boot <strong>BIOS</strong>.<br><br>Pentru a configura pornirea de la un mediu BIOS, programul de instalare trebuie să instaleze un mediu de boot, cum ar fi <strong>GRUB</strong> fie la începutul unei partiții sau pe <strong>Master Boot Record</strong> în partea de început a unei tabele de partiții (preferabil). Acesta este un pas automat, cu excepția cazului în care alegeți partiționarea manuală. @@ -591,27 +591,27 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Mă&rime: - + En&crypt &Criptează - + Logical Logică - + Primary Primară - + GPT GPT - + Mountpoint already in use. Please select another one. Punct de montare existent. Vă rugăm alegeţi altul. @@ -824,7 +824,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Tipul de <strong>tabelă de partiții</strong> de pe dispozitivul de stocare selectat.<br><br>Singura metodă de a schimba tipul de tabelă de partiții este ștergerea și recrearea acesteia de la zero, ceea de distruge toate datele de pe dispozitivul de stocare.<br>Acest program de instalare va păstra tabela de partiții actuală cu excepția cazului în care alegeți altfel.<br>Dacă nu sunteți sigur, GPT este preferabil pentru sistemele moderne. @@ -941,7 +941,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Flags: - + Mountpoint already in use. Please select another one. Punct de montare existent. Vă rugăm alegeţi altul. @@ -969,7 +969,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Confirmă fraza secretă - + Please enter the same passphrase in both boxes. Introduceți aceeași frază secretă în ambele căsuțe. @@ -1038,17 +1038,17 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. FinishedViewStep - + Finish Termină - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Setările de localizare ale sistemului afectează limba și setul de caractere folosit pentru unele elemente de interfață la linia de comandă.<br/>Setările actuale sunt <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Instalează boot&loaderul pe: - + Are you sure you want to create a new partition table on %1? Sigur doriți să creați o nouă tabelă de partiție pe %1? diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index e9d278c2a..4f7ca92f0 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Среда загрузки</strong> данной системы.<br><br>Старые системы x86 поддерживают только <strong>BIOS</strong>.<br>Современные системы обычно используют <strong>EFI</strong>, но также могут имитировать BIOS, если среда загрузки запущена в режиме совместимости. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Эта система использует среду загрузки <strong>EFI</strong>.<br><br>Чтобы настроить запуск из под среды EFI, установщик использует приложения загрузки, такое как <strong>GRUB</strong> или <strong>systemd-boot</strong> на <strong>системном разделе EFI</strong>. Процесс автоматизирован, но вы можете использовать ручной режим, где вы сами будете должны выбрать или создать его. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Эта система запущена в <strong>BIOS</strong> среде загрузки.<br><br> Чтобы настроить запуск из под среды BIOS, установщик должен установить загручик, такой как <strong>GRUB</strong>, либо в начале раздела, либо в <strong>Master Boot Record</strong>, находящийся в начале таблицы разделов (по умолчанию). Процесс автоматизирован, но вы можете выбрать ручной режим, где будете должны настроить его сами. @@ -590,27 +590,27 @@ The installer will quit and all changes will be lost. Ра&змер: - + En&crypt Ши&фровать - + Logical Логический - + Primary Основной - + GPT GPT - + Mountpoint already in use. Please select another one. Точка монтирования уже занята. Пожалуйста, выберете другую. @@ -823,7 +823,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Тип <strong>таблицы разделов</strong> на выбраном устройстве хранения.<br><br>Смена типа раздела возможна только путем удаления и пересоздания всей таблицы разделов, что уничтожит все данные на устройстве.<br>Этот установщик не затронет текущую таблицу разделов, кроме как вы сами решите иначе.<br>По умолчанию, современные системы используют GPT-разметку. @@ -940,7 +940,7 @@ The installer will quit and all changes will be lost. Флаги: - + Mountpoint already in use. Please select another one. @@ -968,7 +968,7 @@ The installer will quit and all changes will be lost. Подтвердите пароль - + Please enter the same passphrase in both boxes. Пожалуйста, введите один и тот же пароль в оба поля. @@ -1037,17 +1037,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Завершить - + Installation Complete - + The installation of %1 is complete. @@ -1158,6 +1158,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Общие региональные настройки влияют на язык и кодировку для отдельных элементов интерфейса командной строки.<br/>Текущий выбор <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1574,7 +1584,7 @@ The installer will quit and all changes will be lost. Установить &загрузчик в: - + Are you sure you want to create a new partition table on %1? Вы уверены, что хотите создать новую таблицу разделов на %1? diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index a2946b3af..a515fd14c 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Zavádzacie prostredie</strong> tohto systému.<br><br>Staršie systémy architektúry x86 podporujú iba <strong>BIOS</strong>.<br>Moderné systémy obvykle používajú <strong>EFI</strong>, ale tiež sa môžu zobraziť ako BIOS, ak sú spustené v režime kompatiblitiy. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Tento systém bol spustený so zavádzacím prostredím <strong>EFI</strong>.<br><br>Na konfiguráciu spustenia z prostredia EFI, musí inštalátor umiestniť aplikáciu zavádzača, ako je <strong>GRUB</strong> alebo <strong>systemd-boot</strong> na <strong>oddiel systému EFI</strong>. Toto je vykonané automaticky, pokiaľ nezvolíte ručné rozdelenie oddielov, v tom prípade ho musíte zvoliť alebo vytvoriť ručne. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Tento systém bol spustený so zavádzacím prostredím <strong>BIOS</strong>.<br><br>Na konfiguráciu spustenia z prostredia BIOS, musí inštalátor nainštalovať zavádzač, ako je <strong>GRUB</strong>, buď na začiatok oddielu alebo na <strong>hlavný zavádzací záznam (MBR)</strong> pri začiatku tabuľky oddielov (preferované). Toto je vykonané automaticky, pokiaľ nezvolíte ručné rozdelenie oddielov, v tom prípade ho musíte nainštalovať ručne. @@ -591,27 +591,27 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Veľ&kosť: - + En&crypt Zaši&frovať - + Logical Logický - + Primary Primárny - + GPT GPT - + Mountpoint already in use. Please select another one. Bod pripojenia sa už používa. Prosím, vyberte iný. @@ -824,7 +824,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Typ <strong>tabuľky oddielov</strong> na vybratom úložnom zariadení.<br><br>Jediným spôsobom ako zmeniť tabuľku oddielov je vymazanie a znovu vytvorenie tabuľky oddielov od začiatku, čím sa zničia všetky údaje úložnom zariadení.<br>Inštalátor ponechá aktuálnu tabuľku oddielov, pokiaľ sa výlučne nerozhodnete inak.<br>Ak nie ste si istý, na moderných systémoch sa preferuje typ tabuľky oddielov GPT. @@ -941,7 +941,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Značky: - + Mountpoint already in use. Please select another one. Bod pripojenia sa už používa. Prosím, vyberte iný. @@ -969,7 +969,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Potvrdenie hesla - + Please enter the same passphrase in both boxes. Prosím, zadajte rovnaké heslo do oboch polí. @@ -1038,19 +1038,19 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. FinishedViewStep - + Finish Dokončenie - + Installation Complete - + Inštalácia dokončená - + The installation of %1 is complete. - + Inštalácia distribúcie %1s je dokončená. @@ -1159,6 +1159,16 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Miestne nastavenie systému ovplyvní jazyk a znakovú sadu niektorých prvkov používateľského rozhrania v príkazovom riadku.<br/>Aktuálne nastavenie je <strong>%1</strong>. + + + &Cancel + &Zrušiť + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Nainštalovať &zavádzač na: - + Are you sure you want to create a new partition table on %1? Naozaj chcete vytvoriť novú tabuľku oddielov na zariadení %1? diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index 512bfe567..9a2165909 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Ve&likost - + En&crypt - + Logical Logičen - + Primary Primaren - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Are you sure you want to create a new partition table on %1? Ali ste prepričani, da želite ustvariti novo razpredelnico razdelkov na %1? diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index 0abcdaf75..b0c88e99b 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. Вели&чина - + En&crypt - + Logical Логичка - + Primary Примарна - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Заврши - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index 6133abcf0..5d39c973e 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. Veli&čina - + En&crypt - + Logical Logička - + Primary Primarna - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index 7245ba850..eabe4119b 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. Systemets <strong>uppstartsmiljö</strong>.<br><br>Äldre x86-system stödjer endast <strong>BIOS</strong>.<br>Moderna system stödjer vanligen <strong>EFI</strong>, men kan också vara i kompabilitetsläge för BIOS. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Detta system startades med en <strong>EFI-miljö</strong>.<br><br>För att ställa in uppstart från en EFI-miljö måste en uppstartsladdare användas, t.ex. <strong>GRUB</strong> eller <strong>systemd-boot</strong> eller en <strong>EFI-systempartition</strong>. Detta sker automatiskt, såvida du inte väljer att partitionera manuellt. Då måste du själv installera en uppstartsladdare. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Detta system startades med en <strong>BIOS-miljö</strong>. <br><br>För att ställa in uppstart från en BIOS-miljö måste en uppstartsladdare som t.ex. <strong>GRUB</strong> installeras, antingen i början av en partition eller på <strong>huvudstartsektorn (MBR)</strong> i början av partitionstabellen. Detta sker automatiskt, såvida du inte väljer manuell partitionering. Då måste du själv installera en uppstartsladdare. @@ -591,27 +591,27 @@ Alla ändringar kommer att gå förlorade. Storlek: - + En&crypt Kr%yptera - + Logical Logisk - + Primary Primär - + GPT GPT - + Mountpoint already in use. Please select another one. Monteringspunkt används redan. Välj en annan. @@ -824,7 +824,7 @@ Alla ändringar kommer att gå förlorade. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Typen av <strong>partitionstabell</strong> på den valda lagringsenheten.<br><br>Det enda sättet attt ändra typen av partitionstabell är genom att radera och återskapa partitionstabellen från början, vilket förstör all data på lagringsenheten.<br>Installationshanteraren kommer behålla den nuvarande partitionstabellen om du inte väljer något annat.<br>På moderna system är GPT att föredra. @@ -941,7 +941,7 @@ Alla ändringar kommer att gå förlorade. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Alla ändringar kommer att gå förlorade. Bekräfta lösenord - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Alla ändringar kommer att gå förlorade. FinishedViewStep - + Finish Slutför - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Alla ändringar kommer att gå förlorade. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Systemspråket påverkar vilket språk och teckenuppsättning somliga kommandoradsprogram använder.<br/>Det nuvarande språket är <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Alla ändringar kommer att gå förlorade. Installera uppstartshanterare på: - + Are you sure you want to create a new partition table on %1? Är du säker på att du vill skapa en ny partitionstabell på %1? diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index 3bfc307da..5c2f1a55a 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. &Z ขนาด: - + En&crypt - + Logical โลจิคอล - + Primary หลัก - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? คุณแน่ใจว่าจะสร้างตารางพาร์ทิชันใหม่บน %1? diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index de27032ea..ba9335279 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. Bu sistemdeki<br> <strong>önyükleme arayüzü</strong> sadece eski x86 sistem ve <strong>BIOS</strong> destekler. <br>Modern sistemler genellikle <strong>EFI</strong> kullanır fakat önyükleme arayüzü uyumlu modda ise BIOS seçilebilir. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Bu sistem, bir <strong>EFI</strong> önyükleme arayüzü ile başladı.<br><br>EFI ortamından başlangıcı yapılandırmak için, bu yükleyici <strong>EFI Sistem Bölümü</strong> üzerinde <strong>GRUB</strong> veya <strong>systemd-boot</strong> gibi bir önyükleyici oluşturmalıdır. Bunu otomatik olarak yapabileceğiniz gibi elle disk bölümleri oluşturarak ta yapabilirsiniz. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Bu sistem, bir <strong>BIOS</strong> önyükleme arayüzü ile başladı.<br><br>BIOS ortamında önyükleme için, yükleyici bölümün başında veya bölüm tablosu başlangıcına yakın <strong>Master Boot Record</strong> üzerine <strong>GRUB</strong> gibi bir önyükleyici yüklemeniz gerekir (önerilir). Eğer bu işlemin otomatik olarak yapılmasını istemez iseniz elle bölümleme yapabilirsiniz. @@ -27,12 +27,12 @@ Boot Partition - Önyükleyici Bölümü + Önyükleyici Disk Bölümü System Partition - Sistem Bölümü + Sistem Disk Bölümü @@ -205,12 +205,12 @@ Output: Bad main script file - Sorunlu script + Sorunlu betik dosyası Main script file %1 for python job %2 is not readable. - %2 python işleri için %1 sorunlu script okunamadı. + %2 python işleri için %1 sorunlu betik okunamadı. @@ -240,7 +240,7 @@ Output: Cancel installation without changing the system. - Sistemi değiştirmeden yüklemeyi iptal edin. + Sistemi değiştirmeden kurulumu iptal edin. @@ -594,27 +594,27 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Bo&yut: - + En&crypt Şif&rele - + Logical Mantıksal - + Primary Birincil - + GPT GPT - + Mountpoint already in use. Please select another one. Bağlama noktası zaten kullanımda. Lütfen diğerini seçiniz. @@ -827,7 +827,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Seçili depolama aygıtında bir <strong>bölümleme tablosu</strong> oluştur.<br><br>Bölümleme tablosu oluşturmanın tek yolu aygıt üzerindeki bölümleri silmek, verileri yoketmek ve yeni bölümleme tablosu oluşturmaktır.<br>Sistem yükleyici aksi bir seçeneğe başvurmaz iseniz geçerli bölümlemeyi koruyacaktır.<br>Emin değilseniz, modern sistemler için GPT tercih edebilirsiniz. @@ -944,7 +944,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Bayraklar: - + Mountpoint already in use. Please select another one. Bağlama noktası zaten kullanımda. Lütfen diğerini seçiniz. @@ -972,7 +972,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Parolayı doğrula - + Please enter the same passphrase in both boxes. Her iki kutuya da aynı parolayı giriniz. @@ -1041,19 +1041,19 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. FinishedViewStep - + Finish Kurulum Tamam - + Installation Complete - + Kurulum Tamamlandı - + The installation of %1 is complete. - + Kurulum %1 oranında tamamlandı. @@ -1162,6 +1162,16 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Sistem yerel ayarı, bazı uçbirim, kullanıcı ayarlamaları ve başkaca dil seçeneklerini belirler ve etkiler. <br/>Varsayılan geçerli ayarlar <strong>%1</strong>. + + + &Cancel + &Vazgeç + + + + &OK + &TAMAM + LicensePage @@ -1578,7 +1588,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Şuraya ön &yükleyici kur: - + Are you sure you want to create a new partition table on %1? %1 tablosunda yeni bölüm oluşturmaya devam etmek istiyor musunuz? diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index 4cb6ed0c2..a67caae8a 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index 28837045f..744e43ced 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index b6a12e4e1..aa9eb1029 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index c62c041ba..f2894938e 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. 这个系统的<strong>引导环境</strong>。<br><br>较旧的 x86 系统只支持 <strong>BIOS</strong>。<br>现代的系统则通常使用 <strong>EFI</strong>,但若引导时使用了兼容模式,也可以显示为 BIOS。 - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. 这个系统从 <strong>EFI</strong> 引导环境启动。<br><br>目前市面上大多数的民用设备都使用 EFI,并同时与之使用 GPT 分区表。<br>要从 EFI 环境引导的话,本安装程序必须部署一个引导器(如 <strong>GRUB</strong> 或 <strong>systemd-boot</strong>)到 <strong>EFI 系统分区</strong>。这个步骤是自动的,除非您选择手动分区——此时您必须自行选择或创建。 - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. 这个系统从 <strong>BIOS</strong> 引导环境启动。<br><br> 要从 BIOS 环境引导,本安装程序必须安装引导器(如 <strong>GRUB</strong>),一般而言要么安装在分区的开头,要么就是在靠进分区表开头的 <strong>主引导记录</strong>(推荐)中。这个步骤是自动的,除非您选择手动分区——此时您必须自行配置。 @@ -592,27 +592,27 @@ The installer will quit and all changes will be lost. 大小(&Z): - + En&crypt 加密(&C) - + Logical 逻辑分区 - + Primary 主分区 - + GPT GPT - + Mountpoint already in use. Please select another one. 挂载点已被占用。请选择另一个。 @@ -825,7 +825,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. 目前选定存储器的<strong>分区表</strong>类型。<br><br>变更分区表类型的唯一方法就是抹除再重新从头建立分区表,这会破坏在该存储器上所有的数据。<br>除非您特别选择,否则本安装程序将会保留目前的分区表。<br>若不确定,在现代的系统上,建议使用 GPT。 @@ -943,7 +943,7 @@ The installer will quit and all changes will be lost. 标记: - + Mountpoint already in use. Please select another one. 挂载点已被占用。请选择另一个。 @@ -971,7 +971,7 @@ The installer will quit and all changes will be lost. 确认密码 - + Please enter the same passphrase in both boxes. 请在两个输入框中输入同样的密码。 @@ -1040,17 +1040,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish 结束 - + Installation Complete - + The installation of %1 is complete. @@ -1161,6 +1161,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. 系统语言区域设置会影响部份命令行用户界面的语言及字符集。<br/>目前的设置为 <strong>%1</strong>。 + + + &Cancel + + + + + &OK + + LicensePage @@ -1577,7 +1587,7 @@ The installer will quit and all changes will be lost. 安装引导程序于(&L): - + Are you sure you want to create a new partition table on %1? 您是否确定要在 %1 上创建新分区表? diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index 0922dc73f..04de28cf1 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. 這個系統的<strong>開機環境</strong>。<br><br>較舊的 x86 系統只支援 <strong>BIOS</strong>。<br>現代的系統則通常使用 <strong>EFI</strong>,但若開機環境是以相容模式執行,其也可能顯示為 BIOS。 - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. 這個系統以 <strong>EFI</strong> 開機環境啟動。<br><br>要設定從 EFI 環境開機,本安裝程式必須部署一個開機載入器應用程式,像是 <strong>GRUB</strong> 或 <strong>systemd-boot</strong> 在 <strong>EFI 系統分割區</strong>上。這是自動的,除非您選擇手動分割,在這種情況下,您必須自行選取或建立它。 - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. 這個系統以 <strong>BIOS</strong> 開機環境開始。<br><br>要從 BIOS 環境開機開機,本安裝程式必須安裝開機載入器,像是 <strong>GRUB</strong>,且通常不是安裝在分割區的開頭就是在靠進分割表開頭的 <strong>主開機記錄</strong>(推薦)。這是自動的,除非您選擇手動分割,在這種情況下,您必須自行設定它。 @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. 容量大小 (&z) : - + En&crypt 加密(&C) - + Logical 邏輯磁區 - + Primary 主要磁區 - + GPT GPT - + Mountpoint already in use. Please select another one. 掛載點使用中。請選擇其他的。 @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. 選定的儲存裝置上的<strong>分割表</strong>類型。<br><br>變更分割表的唯一方法就是抹除再重新從頭建立分割表,這會破壞在該儲存裝置上所有的資料。<br>除非您特別選擇,否則本安裝程式將會保留目前的分割表。<br>若不確定,在現代的系統上,建議使用 GPT。 @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. 旗標: - + Mountpoint already in use. Please select another one. 掛載點使用中。請選擇其他的。 @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. 確認通關密語 - + Please enter the same passphrase in both boxes. 請在兩個框框中輸入相同的通關密語。 @@ -1038,19 +1038,19 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish 完成 - + Installation Complete - + 安裝完成 - + The installation of %1 is complete. - + %1 的安裝已完成。 @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. 系統語系設定會影響部份命令列使用者介面的語言及字元集。<br/>目前的設定為 <strong>%1</strong>。 + + + &Cancel + 取消(&C) + + + + &OK + 確定(&O) + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. 安裝開機載入器在(&L): - + Are you sure you want to create a new partition table on %1? 您是否確定要在 %1 上建立一個新的分割區表格? diff --git a/lang/python.pot b/lang/python.pot index a8d01218d..ad66c1cab 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -1,18 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" +"Language: \n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generate machine-id." #: src/modules/dummypython/main.py:44 msgid "Dummy python job." @@ -22,6 +30,25 @@ msgstr "Dummy python job." msgid "Dummy python step {}" msgstr "Dummy python step {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Processing packages (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Installing one package." +msgstr[1] "Installing %(num)d packages." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Removing one package." +msgstr[1] "Removing %(num)d packages." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Install packages." diff --git a/lang/python/ar/LC_MESSAGES/python.mo b/lang/python/ar/LC_MESSAGES/python.mo index 82839ebb5..8a59291af 100644 Binary files a/lang/python/ar/LC_MESSAGES/python.mo and b/lang/python/ar/LC_MESSAGES/python.mo differ diff --git a/lang/python/ar/LC_MESSAGES/python.po b/lang/python/ar/LC_MESSAGES/python.po index f13d19d84..bdabbf28e 100644 --- a/lang/python/ar/LC_MESSAGES/python.po +++ b/lang/python/ar/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,33 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/ast/LC_MESSAGES/python.mo b/lang/python/ast/LC_MESSAGES/python.mo index 20db126d0..a4fa1fe81 100644 Binary files a/lang/python/ast/LC_MESSAGES/python.mo and b/lang/python/ast/LC_MESSAGES/python.mo differ diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index 65ff65928..c3eb56943 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# enolp , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: enolp , 2017\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ast\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Xenerar machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Trabayu maniquín de python." @@ -26,6 +30,25 @@ msgstr "Trabayu maniquín de python." msgid "Dummy python step {}" msgstr "Pasu maniquín de python {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Xenerar machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/bg/LC_MESSAGES/python.mo b/lang/python/bg/LC_MESSAGES/python.mo index a9bb627fa..470525ae3 100644 Binary files a/lang/python/bg/LC_MESSAGES/python.mo and b/lang/python/bg/LC_MESSAGES/python.mo differ diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index 33ec5eb0e..28b4fbb7c 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/ca/LC_MESSAGES/python.mo b/lang/python/ca/LC_MESSAGES/python.mo index eae22bf7a..efd56d034 100644 Binary files a/lang/python/ca/LC_MESSAGES/python.mo and b/lang/python/ca/LC_MESSAGES/python.mo differ diff --git a/lang/python/ca/LC_MESSAGES/python.po b/lang/python/ca/LC_MESSAGES/python.po index 5f8230503..1ace6c80e 100644 --- a/lang/python/ca/LC_MESSAGES/python.po +++ b/lang/python/ca/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Davidmp , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Davidmp , 2017\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generació de l'id. de la màquina." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Tasca de python fictícia." @@ -26,6 +30,25 @@ msgstr "Tasca de python fictícia." msgid "Dummy python step {}" msgstr "Pas de python fitctici {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generació de l'id. de la màquina." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Processant paquets (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instal·lant un paquet." +msgstr[1] "Instal·lant %(num)d paquets." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Eliminant un paquet." +msgstr[1] "Eliminant %(num)d paquets." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instal·la els paquets." diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.mo b/lang/python/cs_CZ/LC_MESSAGES/python.mo index 015f87119..f98f7f8ee 100644 Binary files a/lang/python/cs_CZ/LC_MESSAGES/python.mo and b/lang/python/cs_CZ/LC_MESSAGES/python.mo differ diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index 2905482eb..59616a830 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# pavelrz , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: pavelrz , 2017\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Vytvořit machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Testovací úloha python." @@ -26,6 +30,27 @@ msgstr "Testovací úloha python." msgid "Dummy python step {}" msgstr "Testovací krok {} python." -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Vytvořit machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instalovat balíčky." diff --git a/lang/python/da/LC_MESSAGES/python.mo b/lang/python/da/LC_MESSAGES/python.mo index 71aa95ed7..0521d0612 100644 Binary files a/lang/python/da/LC_MESSAGES/python.mo and b/lang/python/da/LC_MESSAGES/python.mo differ diff --git a/lang/python/da/LC_MESSAGES/python.po b/lang/python/da/LC_MESSAGES/python.po index bc4de3af8..830e045e6 100644 --- a/lang/python/da/LC_MESSAGES/python.po +++ b/lang/python/da/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# scootergrisen , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: scootergrisen , 2017\n" +"Last-Translator: Dan Johansen (Strit) , 2017\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generere maskine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python-job." @@ -26,6 +30,25 @@ msgstr "Dummy python-job." msgid "Dummy python step {}" msgstr "Dummy python-trin {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generere maskine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Forarbejder pakker (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Installerer én pakke." +msgstr[1] "Installer %(num)d pakker." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Fjerner én pakke." +msgstr[1] "Fjerne %(num)d pakker." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Installér pakker." diff --git a/lang/python/de/LC_MESSAGES/python.mo b/lang/python/de/LC_MESSAGES/python.mo index 62276fc59..aff49a3d1 100644 Binary files a/lang/python/de/LC_MESSAGES/python.mo and b/lang/python/de/LC_MESSAGES/python.mo differ diff --git a/lang/python/de/LC_MESSAGES/python.po b/lang/python/de/LC_MESSAGES/python.po index b7e9f98f7..654da411b 100644 --- a/lang/python/de/LC_MESSAGES/python.po +++ b/lang/python/de/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/el/LC_MESSAGES/python.mo b/lang/python/el/LC_MESSAGES/python.mo index 23002061d..c7d45e879 100644 Binary files a/lang/python/el/LC_MESSAGES/python.mo and b/lang/python/el/LC_MESSAGES/python.mo differ diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index c1aa22c18..924667c68 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/en_GB/LC_MESSAGES/python.mo b/lang/python/en_GB/LC_MESSAGES/python.mo index bca5cdc77..b88e6d8f9 100644 Binary files a/lang/python/en_GB/LC_MESSAGES/python.mo and b/lang/python/en_GB/LC_MESSAGES/python.mo differ diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index 3410efd89..9ced5a414 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: en_GB\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/es/LC_MESSAGES/python.mo b/lang/python/es/LC_MESSAGES/python.mo index 63ea21b42..9d1a6d89f 100644 Binary files a/lang/python/es/LC_MESSAGES/python.mo and b/lang/python/es/LC_MESSAGES/python.mo differ diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index 12c332cb9..440ead6b9 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# strel , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: strel , 2017\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generar identificación-de-maquina." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Tarea de python ficticia." @@ -26,6 +30,25 @@ msgstr "Tarea de python ficticia." msgid "Dummy python step {}" msgstr "Paso {} de python ficticio" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generar identificación-de-maquina." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Procesando paquetes (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instalando un paquete." +msgstr[1] "Instalando %(num)d paquetes." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Eliminando un paquete." +msgstr[1] "Eliminando %(num)d paquetes." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instalar paquetes." diff --git a/lang/python/es_ES/LC_MESSAGES/python.mo b/lang/python/es_ES/LC_MESSAGES/python.mo index e65c0fc58..35a601558 100644 Binary files a/lang/python/es_ES/LC_MESSAGES/python.mo and b/lang/python/es_ES/LC_MESSAGES/python.mo differ diff --git a/lang/python/es_ES/LC_MESSAGES/python.po b/lang/python/es_ES/LC_MESSAGES/python.po index ddd5b1375..a07d525c7 100644 --- a/lang/python/es_ES/LC_MESSAGES/python.po +++ b/lang/python/es_ES/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Spain) (https://www.transifex.com/calamares/teams/20061/es_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/es_MX/LC_MESSAGES/python.mo b/lang/python/es_MX/LC_MESSAGES/python.mo index 63d0babac..73c58bb4a 100644 Binary files a/lang/python/es_MX/LC_MESSAGES/python.mo and b/lang/python/es_MX/LC_MESSAGES/python.mo differ diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index c63d1029c..72deb57ed 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_MX\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/es_PR/LC_MESSAGES/python.mo b/lang/python/es_PR/LC_MESSAGES/python.mo index 7a9bb1ce3..f3dd878be 100644 Binary files a/lang/python/es_PR/LC_MESSAGES/python.mo and b/lang/python/es_PR/LC_MESSAGES/python.mo differ diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index d64df0b6d..14e075326 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_PR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/et/LC_MESSAGES/python.mo b/lang/python/et/LC_MESSAGES/python.mo index d2c1990b9..86e51fbf4 100644 Binary files a/lang/python/et/LC_MESSAGES/python.mo and b/lang/python/et/LC_MESSAGES/python.mo differ diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index b0f49016d..3ade2d753 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/eu/LC_MESSAGES/python.mo b/lang/python/eu/LC_MESSAGES/python.mo index 704f3b974..2b85ce42c 100644 Binary files a/lang/python/eu/LC_MESSAGES/python.mo and b/lang/python/eu/LC_MESSAGES/python.mo differ diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index 917044fbd..2f4c71e36 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/fa/LC_MESSAGES/python.mo b/lang/python/fa/LC_MESSAGES/python.mo index 4255c04d7..be5db74c2 100644 Binary files a/lang/python/fa/LC_MESSAGES/python.mo and b/lang/python/fa/LC_MESSAGES/python.mo differ diff --git a/lang/python/fa/LC_MESSAGES/python.po b/lang/python/fa/LC_MESSAGES/python.po index 003720897..9da47f1c0 100644 --- a/lang/python/fa/LC_MESSAGES/python.po +++ b/lang/python/fa/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,23 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.mo b/lang/python/fi_FI/LC_MESSAGES/python.mo index 13b832ac2..65215e4b3 100644 Binary files a/lang/python/fi_FI/LC_MESSAGES/python.mo and b/lang/python/fi_FI/LC_MESSAGES/python.mo differ diff --git a/lang/python/fi_FI/LC_MESSAGES/python.po b/lang/python/fi_FI/LC_MESSAGES/python.po index b889e60b5..98225c0f8 100644 --- a/lang/python/fi_FI/LC_MESSAGES/python.po +++ b/lang/python/fi_FI/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fi_FI\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/fr/LC_MESSAGES/python.mo b/lang/python/fr/LC_MESSAGES/python.mo index 108a9cfe5..2c39ac029 100644 Binary files a/lang/python/fr/LC_MESSAGES/python.mo and b/lang/python/fr/LC_MESSAGES/python.mo differ diff --git a/lang/python/fr/LC_MESSAGES/python.po b/lang/python/fr/LC_MESSAGES/python.po index 62387b67e..f5af986a3 100644 --- a/lang/python/fr/LC_MESSAGES/python.po +++ b/lang/python/fr/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/fr_CH/LC_MESSAGES/python.mo b/lang/python/fr_CH/LC_MESSAGES/python.mo index c4843e25d..44c786167 100644 Binary files a/lang/python/fr_CH/LC_MESSAGES/python.mo and b/lang/python/fr_CH/LC_MESSAGES/python.mo differ diff --git a/lang/python/fr_CH/LC_MESSAGES/python.po b/lang/python/fr_CH/LC_MESSAGES/python.po index 2aeeb75ff..5c665d8ab 100644 --- a/lang/python/fr_CH/LC_MESSAGES/python.po +++ b/lang/python/fr_CH/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fr_CH\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/gl/LC_MESSAGES/python.mo b/lang/python/gl/LC_MESSAGES/python.mo index 4324e1276..b221e3812 100644 Binary files a/lang/python/gl/LC_MESSAGES/python.mo and b/lang/python/gl/LC_MESSAGES/python.mo differ diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index 9d2162e31..a326be4be 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/gu/LC_MESSAGES/python.mo b/lang/python/gu/LC_MESSAGES/python.mo index 30c9a8110..e8861abe2 100644 Binary files a/lang/python/gu/LC_MESSAGES/python.mo and b/lang/python/gu/LC_MESSAGES/python.mo differ diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index 0eb71a876..557a796e5 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: gu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/he/LC_MESSAGES/python.mo b/lang/python/he/LC_MESSAGES/python.mo index 7d2968beb..8db1c22da 100644 Binary files a/lang/python/he/LC_MESSAGES/python.mo and b/lang/python/he/LC_MESSAGES/python.mo differ diff --git a/lang/python/he/LC_MESSAGES/python.po b/lang/python/he/LC_MESSAGES/python.po index 6bc3c9214..2c314f285 100644 --- a/lang/python/he/LC_MESSAGES/python.po +++ b/lang/python/he/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Eli Shleifer , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Eli Shleifer , 2017\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "חולל מספר סידורי של המכונה." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "משימת דמה של Python." @@ -26,6 +30,25 @@ msgstr "משימת דמה של Python." msgid "Dummy python step {}" msgstr "צעד דמה של Python {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "חולל מספר סידורי של המכונה." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "מעבד חבילות (%(count)d/%(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "מתקין חבילה אחת." +msgstr[1] "מתקין %(num)d חבילות." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "מסיר חבילה אחת." +msgstr[1] "מסיר %(num)d חבילות." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "התקן חבילות." diff --git a/lang/python/hi/LC_MESSAGES/python.mo b/lang/python/hi/LC_MESSAGES/python.mo index eac751db9..198aba348 100644 Binary files a/lang/python/hi/LC_MESSAGES/python.mo and b/lang/python/hi/LC_MESSAGES/python.mo differ diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index 89488ed40..e108c12ac 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/hr/LC_MESSAGES/python.mo b/lang/python/hr/LC_MESSAGES/python.mo index 2534c54ba..4a4b060e1 100644 Binary files a/lang/python/hr/LC_MESSAGES/python.mo and b/lang/python/hr/LC_MESSAGES/python.mo differ diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index c35af8b84..61a1b53a2 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Lovro Kudelić , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Lovro Kudelić , 2017\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hr\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generiraj ID računala." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Testni python posao." @@ -26,6 +30,27 @@ msgstr "Testni python posao." msgid "Dummy python step {}" msgstr "Testni python korak {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generiraj ID računala." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Obrađujem pakete (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instaliram paket." +msgstr[1] "Instaliram %(num)d pakete." +msgstr[2] "Instaliram %(num)d pakete." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Uklanjam paket." +msgstr[1] "Uklanjam %(num)d pakete." +msgstr[2] "Uklanjam %(num)d pakete." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instaliraj pakete." diff --git a/lang/python/hu/LC_MESSAGES/python.mo b/lang/python/hu/LC_MESSAGES/python.mo index fae26ca9d..62231eb3e 100644 Binary files a/lang/python/hu/LC_MESSAGES/python.mo and b/lang/python/hu/LC_MESSAGES/python.mo differ diff --git a/lang/python/hu/LC_MESSAGES/python.po b/lang/python/hu/LC_MESSAGES/python.po index 7bfb0661d..955764b81 100644 --- a/lang/python/hu/LC_MESSAGES/python.po +++ b/lang/python/hu/LC_MESSAGES/python.po @@ -1,28 +1,54 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: miku84 , 2017\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Számítógép azonosító generálása." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "" +msgstr "Hamis PythonQt Job." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "" +msgstr "Hamis PythonQt {} lépés" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Csomagok feldolgozása (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Csomagok telepítése." diff --git a/lang/python/id/LC_MESSAGES/python.mo b/lang/python/id/LC_MESSAGES/python.mo index df139cd7e..35b6cdcb0 100644 Binary files a/lang/python/id/LC_MESSAGES/python.mo and b/lang/python/id/LC_MESSAGES/python.mo differ diff --git a/lang/python/id/LC_MESSAGES/python.po b/lang/python/id/LC_MESSAGES/python.po index 02c2e7523..9f7d9418a 100644 --- a/lang/python/id/LC_MESSAGES/python.po +++ b/lang/python/id/LC_MESSAGES/python.po @@ -1,31 +1,52 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Wantoyo , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Wantoyo , 2017\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generate machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "Tugas dummy python." +msgstr "Dummy python job." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "Langkah dummy python {}" +msgstr "Dummy python step {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Menghasilkan id-mesin" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/is/LC_MESSAGES/python.mo b/lang/python/is/LC_MESSAGES/python.mo index 1054df5ce..26b8d0676 100644 Binary files a/lang/python/is/LC_MESSAGES/python.mo and b/lang/python/is/LC_MESSAGES/python.mo differ diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index 2d54179f1..226a8deb3 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -1,28 +1,54 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Kristján Magnússon , 2017\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generate machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "" +msgstr "Dummy python job." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "" +msgstr "Dummy python step {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Vinnslupakkar (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Setja upp einn pakka." +msgstr[1] "Setur upp %(num)d pakka." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Fjarlægi einn pakka." +msgstr[1] "Fjarlægi %(num)d pakka." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Setja upp pakka." diff --git a/lang/python/it_IT/LC_MESSAGES/python.mo b/lang/python/it_IT/LC_MESSAGES/python.mo index 51078e0df..73aed3b46 100644 Binary files a/lang/python/it_IT/LC_MESSAGES/python.mo and b/lang/python/it_IT/LC_MESSAGES/python.mo differ diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index 374c6a74c..ff1f27430 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: it_IT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/ja/LC_MESSAGES/python.mo b/lang/python/ja/LC_MESSAGES/python.mo index 0bbe50fcc..828391d79 100644 Binary files a/lang/python/ja/LC_MESSAGES/python.mo and b/lang/python/ja/LC_MESSAGES/python.mo differ diff --git a/lang/python/ja/LC_MESSAGES/python.po b/lang/python/ja/LC_MESSAGES/python.po index c717b4a8b..8e24320fb 100644 --- a/lang/python/ja/LC_MESSAGES/python.po +++ b/lang/python/ja/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Takefumi Nagata , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Takefumi Nagata , 2017\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "machine-id の生成" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python job." @@ -26,6 +30,23 @@ msgstr "Dummy python job." msgid "Dummy python step {}" msgstr "Dummy python step {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "machine-id の生成" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "パッケージの処理中 (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] " %(num)d パッケージのインストール中。" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] " %(num)d パッケージの削除中。" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "パッケージのインストール" diff --git a/lang/python/kk/LC_MESSAGES/python.mo b/lang/python/kk/LC_MESSAGES/python.mo index bffc9c65b..2b0afba0e 100644 Binary files a/lang/python/kk/LC_MESSAGES/python.mo and b/lang/python/kk/LC_MESSAGES/python.mo differ diff --git a/lang/python/kk/LC_MESSAGES/python.po b/lang/python/kk/LC_MESSAGES/python.po index d0936fa83..e1ffbb3e9 100644 --- a/lang/python/kk/LC_MESSAGES/python.po +++ b/lang/python/kk/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: kk\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,23 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/lo/LC_MESSAGES/python.mo b/lang/python/lo/LC_MESSAGES/python.mo index 9434f55ba..1a06a5e25 100644 Binary files a/lang/python/lo/LC_MESSAGES/python.mo and b/lang/python/lo/LC_MESSAGES/python.mo differ diff --git a/lang/python/lo/LC_MESSAGES/python.po b/lang/python/lo/LC_MESSAGES/python.po index 17ead03e2..b11a51f76 100644 --- a/lang/python/lo/LC_MESSAGES/python.po +++ b/lang/python/lo/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: lo\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,23 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/lt/LC_MESSAGES/python.mo b/lang/python/lt/LC_MESSAGES/python.mo index e5dad3098..421ec7f2f 100644 Binary files a/lang/python/lt/LC_MESSAGES/python.mo and b/lang/python/lt/LC_MESSAGES/python.mo differ diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 69c267745..bda9e87c7 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -1,31 +1,56 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Moo , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Moo , 2017\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: lt\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: src/modules/dummypython/main.py:44 -msgid "Dummy python job." -msgstr "Fiktyvi python užduotis." - -#: src/modules/dummypython/main.py:97 -msgid "Dummy python step {}" -msgstr "Fiktyvus python žingsnis {}" - #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generuoti machine-id." + +#: src/modules/dummypython/main.py:44 +msgid "Dummy python job." +msgstr "Fiktyvi python užduotis." + +#: src/modules/dummypython/main.py:97 +msgid "Dummy python step {}" +msgstr "Fiktyvus python žingsnis {}" + +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Apdorojami paketai (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Įdiegiamas %(num)d paketas." +msgstr[1] "Įdiegiami %(num)d paketai." +msgstr[2] "Įdiegiama %(num)d paketų." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Šalinamas %(num)d paketas." +msgstr[1] "Šalinami %(num)d paketai." +msgstr[2] "Šalinama %(num)d paketų." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Įdiegti paketus." diff --git a/lang/python/mr/LC_MESSAGES/python.mo b/lang/python/mr/LC_MESSAGES/python.mo index 6d50fa2e6..ada8d963f 100644 Binary files a/lang/python/mr/LC_MESSAGES/python.mo and b/lang/python/mr/LC_MESSAGES/python.mo differ diff --git a/lang/python/mr/LC_MESSAGES/python.po b/lang/python/mr/LC_MESSAGES/python.po index ecd77a70e..856d82b37 100644 --- a/lang/python/mr/LC_MESSAGES/python.po +++ b/lang/python/mr/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: mr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/nb/LC_MESSAGES/python.mo b/lang/python/nb/LC_MESSAGES/python.mo index 11acd6cc3..4a10eac44 100644 Binary files a/lang/python/nb/LC_MESSAGES/python.mo and b/lang/python/nb/LC_MESSAGES/python.mo differ diff --git a/lang/python/nb/LC_MESSAGES/python.po b/lang/python/nb/LC_MESSAGES/python.po index d5d2da856..40b2a710a 100644 --- a/lang/python/nb/LC_MESSAGES/python.po +++ b/lang/python/nb/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/nl/LC_MESSAGES/python.mo b/lang/python/nl/LC_MESSAGES/python.mo index 487cfd28a..3ecd47e74 100644 Binary files a/lang/python/nl/LC_MESSAGES/python.mo and b/lang/python/nl/LC_MESSAGES/python.mo differ diff --git a/lang/python/nl/LC_MESSAGES/python.po b/lang/python/nl/LC_MESSAGES/python.po index e8898bfc6..5bf84848d 100644 --- a/lang/python/nl/LC_MESSAGES/python.po +++ b/lang/python/nl/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Adriaan de Groot , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Adriaan de Groot , 2017\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Genereer machine-id" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Voorbeeld Python-taak" @@ -26,6 +30,25 @@ msgstr "Voorbeeld Python-taak" msgid "Dummy python step {}" msgstr "Voorbeeld Python-stap {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Genereer machine-id" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/pl/LC_MESSAGES/python.mo b/lang/python/pl/LC_MESSAGES/python.mo index e739111fe..fca89320a 100644 Binary files a/lang/python/pl/LC_MESSAGES/python.mo and b/lang/python/pl/LC_MESSAGES/python.mo differ diff --git a/lang/python/pl/LC_MESSAGES/python.po b/lang/python/pl/LC_MESSAGES/python.po index 820d9b40b..ec6e5bbd2 100644 --- a/lang/python/pl/LC_MESSAGES/python.po +++ b/lang/python/pl/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# m4sk1n , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: m4sk1n , 2017\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generuj machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Zadanie Dummy Python" @@ -26,6 +30,29 @@ msgstr "Zadanie Dummy Python" msgid "Dummy python step {}" msgstr "Krok dummy python {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generuj machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Przetwarzanie pakietów (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instalowanie jednego pakietu." +msgstr[1] "Instalowanie %(num)d pakietów." +msgstr[2] "Instalowanie %(num)d pakietów." +msgstr[3] "Instalowanie pakietów (%(num)d)." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Usuwanie jednego pakietu." +msgstr[1] "Usuwanie %(num)d pakietów." +msgstr[2] "Usuwanie %(num)d pakietów." +msgstr[3] "Usuwanie pakietów (%(num)d)." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Zainstaluj pakiety." diff --git a/lang/python/pl_PL/LC_MESSAGES/python.mo b/lang/python/pl_PL/LC_MESSAGES/python.mo index dea0102b9..fc4620205 100644 Binary files a/lang/python/pl_PL/LC_MESSAGES/python.mo and b/lang/python/pl_PL/LC_MESSAGES/python.mo differ diff --git a/lang/python/pl_PL/LC_MESSAGES/python.po b/lang/python/pl_PL/LC_MESSAGES/python.po index 3a12bb74b..35261da58 100644 --- a/lang/python/pl_PL/LC_MESSAGES/python.po +++ b/lang/python/pl_PL/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Polish (Poland) (https://www.transifex.com/calamares/teams/20061/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pl_PL\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,29 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.mo b/lang/python/pt_BR/LC_MESSAGES/python.mo index d6f544aa3..e6c7bd3b9 100644 Binary files a/lang/python/pt_BR/LC_MESSAGES/python.mo and b/lang/python/pt_BR/LC_MESSAGES/python.mo differ diff --git a/lang/python/pt_BR/LC_MESSAGES/python.po b/lang/python/pt_BR/LC_MESSAGES/python.po index aaa1acc60..11ee94ba9 100644 --- a/lang/python/pt_BR/LC_MESSAGES/python.po +++ b/lang/python/pt_BR/LC_MESSAGES/python.po @@ -1,31 +1,54 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Guilherme M.S. , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Guilherme M.S. , 2017\n" +"Last-Translator: André Marcelo Alvarenga , 2017\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Gerar machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Trabalho fictício python." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "Passo fictício python {}" +msgstr "Etapa fictícia python {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Gerar machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Processando pacotes (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instalando um pacote." +msgstr[1] "Instalando %(num)d pacotes." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Removendo um pacote." +msgstr[1] "Removendo %(num)d pacotes." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instalar pacotes." diff --git a/lang/python/pt_PT/LC_MESSAGES/python.mo b/lang/python/pt_PT/LC_MESSAGES/python.mo index 297cbdbf5..d1d52a7f9 100644 Binary files a/lang/python/pt_PT/LC_MESSAGES/python.mo and b/lang/python/pt_PT/LC_MESSAGES/python.mo differ diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index b536c18ab..485ecc10f 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Ricardo Simões , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ricardo Simões , 2017\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Gerar id-máquina" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Tarefa Dummy python." @@ -26,6 +30,25 @@ msgstr "Tarefa Dummy python." msgid "Dummy python step {}" msgstr "Passo Dummy python {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Gerar id-máquina" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "A processar pacotes (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "A instalar um pacote." +msgstr[1] "A instalar %(num)d pacotes." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "A remover um pacote." +msgstr[1] "A remover %(num)d pacotes." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instalar pacotes." diff --git a/lang/python/ro/LC_MESSAGES/python.mo b/lang/python/ro/LC_MESSAGES/python.mo index ec67fcbe6..40d555edb 100644 Binary files a/lang/python/ro/LC_MESSAGES/python.mo and b/lang/python/ro/LC_MESSAGES/python.mo differ diff --git a/lang/python/ro/LC_MESSAGES/python.po b/lang/python/ro/LC_MESSAGES/python.po index ded68d3a8..5a2d0706b 100644 --- a/lang/python/ro/LC_MESSAGES/python.po +++ b/lang/python/ro/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,27 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/ru/LC_MESSAGES/python.mo b/lang/python/ru/LC_MESSAGES/python.mo index 0c0ac8991..0faa2fe7c 100644 Binary files a/lang/python/ru/LC_MESSAGES/python.mo and b/lang/python/ru/LC_MESSAGES/python.mo differ diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index 56112d8e7..215e7652d 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,29 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/sk/LC_MESSAGES/python.mo b/lang/python/sk/LC_MESSAGES/python.mo index 45c4ac2f2..405b02f88 100644 Binary files a/lang/python/sk/LC_MESSAGES/python.mo and b/lang/python/sk/LC_MESSAGES/python.mo differ diff --git a/lang/python/sk/LC_MESSAGES/python.po b/lang/python/sk/LC_MESSAGES/python.po index 6e6a53e8c..edaf3ef4b 100644 --- a/lang/python/sk/LC_MESSAGES/python.po +++ b/lang/python/sk/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,27 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/sl/LC_MESSAGES/python.mo b/lang/python/sl/LC_MESSAGES/python.mo index 2be66f6ad..615d4b0b7 100644 Binary files a/lang/python/sl/LC_MESSAGES/python.mo and b/lang/python/sl/LC_MESSAGES/python.mo differ diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index 06f969efb..75e1ce058 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,29 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/sr/LC_MESSAGES/python.mo b/lang/python/sr/LC_MESSAGES/python.mo index 644bf61ff..d6f9d392c 100644 Binary files a/lang/python/sr/LC_MESSAGES/python.mo and b/lang/python/sr/LC_MESSAGES/python.mo differ diff --git a/lang/python/sr/LC_MESSAGES/python.po b/lang/python/sr/LC_MESSAGES/python.po index 6c9bcf090..3d7d8a376 100644 --- a/lang/python/sr/LC_MESSAGES/python.po +++ b/lang/python/sr/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,27 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/sr@latin/LC_MESSAGES/python.mo b/lang/python/sr@latin/LC_MESSAGES/python.mo index 4d987eec0..ec7faf311 100644 Binary files a/lang/python/sr@latin/LC_MESSAGES/python.mo and b/lang/python/sr@latin/LC_MESSAGES/python.mo differ diff --git a/lang/python/sr@latin/LC_MESSAGES/python.po b/lang/python/sr@latin/LC_MESSAGES/python.po index 2df9c34e2..2ec845ba1 100644 --- a/lang/python/sr@latin/LC_MESSAGES/python.po +++ b/lang/python/sr@latin/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sr@latin\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,27 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/sv/LC_MESSAGES/python.mo b/lang/python/sv/LC_MESSAGES/python.mo index 9cc4780e2..e27097ca7 100644 Binary files a/lang/python/sv/LC_MESSAGES/python.mo and b/lang/python/sv/LC_MESSAGES/python.mo differ diff --git a/lang/python/sv/LC_MESSAGES/python.po b/lang/python/sv/LC_MESSAGES/python.po index 47802736c..961a8dd0d 100644 --- a/lang/python/sv/LC_MESSAGES/python.po +++ b/lang/python/sv/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/th/LC_MESSAGES/python.mo b/lang/python/th/LC_MESSAGES/python.mo index a3a10a3fd..99aa63beb 100644 Binary files a/lang/python/th/LC_MESSAGES/python.mo and b/lang/python/th/LC_MESSAGES/python.mo differ diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index 0ead47db9..da9c4a44e 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: th\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,23 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.mo b/lang/python/tr_TR/LC_MESSAGES/python.mo index dd976051a..046d5b5c9 100644 Binary files a/lang/python/tr_TR/LC_MESSAGES/python.mo and b/lang/python/tr_TR/LC_MESSAGES/python.mo differ diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index 257abac67..9be847915 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Demiray Muhterem , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Demiray Muhterem , 2017\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Makine kimliği oluştur." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python job." @@ -26,6 +30,23 @@ msgstr "Dummy python job." msgid "Dummy python step {}" msgstr "Dummy python step {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Makine kimliği oluştur." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Paketler işleniyor (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "%(num)d paket yükleniyor" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "%(num)d paket kaldırılıyor." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Paketleri yükle" diff --git a/lang/python/uk/LC_MESSAGES/python.mo b/lang/python/uk/LC_MESSAGES/python.mo index bd9e1646f..d17a14087 100644 Binary files a/lang/python/uk/LC_MESSAGES/python.mo and b/lang/python/uk/LC_MESSAGES/python.mo differ diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index 4d3aebff2..c25e7e777 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,27 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/ur/LC_MESSAGES/python.mo b/lang/python/ur/LC_MESSAGES/python.mo index bac8758da..176215bcb 100644 Binary files a/lang/python/ur/LC_MESSAGES/python.mo and b/lang/python/ur/LC_MESSAGES/python.mo differ diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index 29c56e76d..58ff76786 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ur\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/uz/LC_MESSAGES/python.mo b/lang/python/uz/LC_MESSAGES/python.mo index 83a0bd2e4..037e2fa2a 100644 Binary files a/lang/python/uz/LC_MESSAGES/python.mo and b/lang/python/uz/LC_MESSAGES/python.mo differ diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index 818df31ba..26cab9c97 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: uz\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,23 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.mo b/lang/python/zh_CN/LC_MESSAGES/python.mo index b04097270..7e0bff4f5 100644 Binary files a/lang/python/zh_CN/LC_MESSAGES/python.mo and b/lang/python/zh_CN/LC_MESSAGES/python.mo differ diff --git a/lang/python/zh_CN/LC_MESSAGES/python.po b/lang/python/zh_CN/LC_MESSAGES/python.po index 1e33f1d1c..2d918d9bb 100644 --- a/lang/python/zh_CN/LC_MESSAGES/python.po +++ b/lang/python/zh_CN/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Mingcong Bai , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Mingcong Bai , 2017\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "生成 machine-id。" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "占位 Python 任务。" @@ -26,6 +30,23 @@ msgstr "占位 Python 任务。" msgid "Dummy python step {}" msgstr "占位 Python 步骤 {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "生成 machine-id。" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.mo b/lang/python/zh_TW/LC_MESSAGES/python.mo index 513104f66..2fb81f156 100644 Binary files a/lang/python/zh_TW/LC_MESSAGES/python.mo and b/lang/python/zh_TW/LC_MESSAGES/python.mo differ diff --git a/lang/python/zh_TW/LC_MESSAGES/python.po b/lang/python/zh_TW/LC_MESSAGES/python.po index 6bea01c7e..2d1398174 100644 --- a/lang/python/zh_TW/LC_MESSAGES/python.po +++ b/lang/python/zh_TW/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Jeff Huang , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Jeff Huang , 2017\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "生成 machine-id。" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "假的 python 工作。" @@ -26,6 +30,23 @@ msgstr "假的 python 工作。" msgid "Dummy python step {}" msgstr "假的 python step {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "生成 machine-id。" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "正在處理軟體包 (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "正在安裝 %(num)d 軟體包。" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "正在移除 %(num)d 軟體包。" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "安裝軟體包。" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4ef6afcbb..c29a866d8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,17 +3,18 @@ include( CalamaresAddModuleSubdirectory ) include( CalamaresAddLibrary ) include( CalamaresAddBrandingSubdirectory ) -include_directories( ${CMAKE_CURRENT_BINARY_DIR}/libcalamares ) -include_directories( ${CMAKE_CURRENT_LIST_DIR}/libcalamares ) - -include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) -include_directories( ${CMAKE_CURRENT_LIST_DIR} ) +include_directories( + ${CMAKE_CURRENT_LIST_DIR} + ${CMAKE_CURRENT_LIST_DIR}/libcalamares + ${CMAKE_CURRENT_LIST_DIR}/libcalamaresui + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR}/libcalamares + ${CMAKE_CURRENT_BINARY_DIR}/libcalamaresui +) # library add_subdirectory( libcalamares ) -include_directories( ${CMAKE_CURRENT_BINARY_DIR}/libcalamaresui ) -include_directories( ${CMAKE_CURRENT_LIST_DIR}/libcalamaresui ) add_subdirectory( libcalamaresui ) # all things qml @@ -27,7 +28,3 @@ add_subdirectory( modules ) # branding components add_subdirectory( branding ) - -if( WITH_CRASHREPORTER ) - add_subdirectory( crashreporter ) -endif() diff --git a/src/calamares/CMakeLists.txt b/src/calamares/CMakeLists.txt index c0f9ecb66..6129aa553 100644 --- a/src/calamares/CMakeLists.txt +++ b/src/calamares/CMakeLists.txt @@ -27,8 +27,6 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../libcalamares - ${THIRDPARTY_DIR}/libcrashreporter-qt/src/ - ../libcalamares ../libcalamaresui ) @@ -51,11 +49,6 @@ SET_TARGET_PROPERTIES(calamares_bin RUNTIME_OUTPUT_NAME calamares ) -if( WITH_CRASHREPORTER ) - list( APPEND LINK_LIBRARIES ${LINK_LIBRARIES} pthread crashreporter-handler ) -endif() - -qt5_use_modules( calamares_bin Core Widgets ) target_link_libraries( calamares_bin PRIVATE ${CALAMARES_LIBRARIES} diff --git a/src/calamares/CalamaresWindow.cpp b/src/calamares/CalamaresWindow.cpp index 260d56139..eb3289083 100644 --- a/src/calamares/CalamaresWindow.cpp +++ b/src/calamares/CalamaresWindow.cpp @@ -55,7 +55,7 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) cDebug() << "Available size" << availableSize; - if ( (availableSize.width() < windowPreferredWidth) || (availableSize.height() < windowPreferredHeight) ) + if ( ( availableSize.width() < windowPreferredWidth ) || ( availableSize.height() < windowPreferredHeight ) ) cDebug() << " Small screen detected."; QSize minimumSize( qBound( windowMinimumWidth, availableSize.width(), windowPreferredWidth ), qBound( windowMinimumHeight, availableSize.height(), windowPreferredHeight ) ); @@ -131,9 +131,7 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) else { if ( m_debugWindow ) - { m_debugWindow->deleteLater(); - } } } ); } @@ -142,6 +140,19 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) CalamaresUtils::unmarginLayout( mainLayout ); Calamares::ViewManager* vm = Calamares::ViewManager::instance( this ); + connect( vm, &Calamares::ViewManager::enlarge, this, &CalamaresWindow::enlarge ); mainLayout->addWidget( vm->centralWidget() ); } + +void +CalamaresWindow::enlarge( QSize enlarge ) +{ + auto mainGeometry = this->geometry(); + QSize availableSize = qApp->desktop()->availableGeometry( this ).size(); + + auto h = qBound( 0, mainGeometry.height() + enlarge.height(), availableSize.height() ); + auto w = this->size().width(); + + resize( w, h ); +} diff --git a/src/calamares/CalamaresWindow.h b/src/calamares/CalamaresWindow.h index 7b2cfa6fa..00f790f5a 100644 --- a/src/calamares/CalamaresWindow.h +++ b/src/calamares/CalamaresWindow.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,6 +38,14 @@ public: CalamaresWindow( QWidget* parent = nullptr ); virtual ~CalamaresWindow() {} +public slots: + /** + * This asks the main window to grow by @p enlarge pixels, to accomodate + * larger-than-expected window contents. The enlargement may be silently + * ignored. + */ + void enlarge( QSize enlarge ); + private: QPointer< Calamares::DebugWindow > m_debugWindow; }; diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp index ec6c233a1..a265d1e31 100644 --- a/src/calamares/main.cpp +++ b/src/calamares/main.cpp @@ -23,9 +23,6 @@ #include "utils/CalamaresUtils.h" #include "utils/Logger.h" #include "CalamaresConfig.h" -#ifdef WITH_CRASHREPORTER - #include "libcrashreporter-handler/Handler.h" -#endif #include #include @@ -36,13 +33,6 @@ main( int argc, char* argv[] ) { CalamaresApplication a( argc, argv ); -#ifdef WITH_CRASHREPORTER - CrashReporter::Handler* handler = - new CrashReporter::Handler( QDir::tempPath(), - true, - "calamares_crash_reporter" ); -#endif - QCommandLineParser parser; parser.setApplicationDescription( "Distribution-independent installer framework" ); parser.addHelpOption(); diff --git a/src/calamares/progresstree/ProgressTreeDelegate.cpp b/src/calamares/progresstree/ProgressTreeDelegate.cpp index f6b52b978..34835c8fa 100644 --- a/src/calamares/progresstree/ProgressTreeDelegate.cpp +++ b/src/calamares/progresstree/ProgressTreeDelegate.cpp @@ -64,8 +64,6 @@ ProgressTreeDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const { - bool isFirstLevel = !index.parent().isValid(); - QStyleOptionViewItem opt = option; painter->save(); diff --git a/src/calamares/progresstree/ProgressTreeModel.cpp b/src/calamares/progresstree/ProgressTreeModel.cpp index dbe8315eb..50a1b6e50 100644 --- a/src/calamares/progresstree/ProgressTreeModel.cpp +++ b/src/calamares/progresstree/ProgressTreeModel.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -96,6 +97,10 @@ ProgressTreeModel::data( const QModelIndex& index, int role ) const QVariant ProgressTreeModel::headerData( int section, Qt::Orientation orientation, int role ) const { + Q_UNUSED( section ); + Q_UNUSED( orientation ); + Q_UNUSED( role ); + return QVariant(); } @@ -146,12 +151,11 @@ ProgressTreeModel::indexFromItem( ProgressTreeItem* item ) if ( !item || !item->parent() ) return QModelIndex(); - // Reconstructs a QModelIndex from a ProgressTreeItem that is somewhere in the tree. - // Traverses the item to the root node, then rebuilds the qmodeindices from there + // Traverses the item to the root node, then rebuilds the qmodelindices from there // back down; each int is the row of that item in the parent. /** - * In this diagram, if the \param item is G, childIndexList will contain [0, 2, 0] + * In this diagram, if the item is G, childIndexList will contain [0, 2, 0] * * A * D diff --git a/src/calamares/progresstree/ProgressTreeModel.h b/src/calamares/progresstree/ProgressTreeModel.h index 60db77939..80ce6dc6b 100644 --- a/src/calamares/progresstree/ProgressTreeModel.h +++ b/src/calamares/progresstree/ProgressTreeModel.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -39,7 +40,7 @@ public: }; explicit ProgressTreeModel( QObject* parent = nullptr ); - virtual ~ProgressTreeModel(); + virtual ~ProgressTreeModel() override; // Reimplemented from QAbstractItemModel Qt::ItemFlags flags( const QModelIndex& index ) const override; diff --git a/src/calamares/progresstree/ProgressTreeView.h b/src/calamares/progresstree/ProgressTreeView.h index fae75d0dc..11738b193 100644 --- a/src/calamares/progresstree/ProgressTreeView.h +++ b/src/calamares/progresstree/ProgressTreeView.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,8 +35,8 @@ class ProgressTreeView : public QTreeView public: static ProgressTreeView* instance(); - explicit ProgressTreeView( QWidget* parent = 0 ); - virtual ~ProgressTreeView(); + explicit ProgressTreeView( QWidget* parent = nullptr ); + virtual ~ProgressTreeView() override; /** * @brief setModel assigns a model to this view. diff --git a/src/calamares/progresstree/ViewStepItem.cpp b/src/calamares/progresstree/ViewStepItem.cpp index d2fff08ca..b54fa07eb 100644 --- a/src/calamares/progresstree/ViewStepItem.cpp +++ b/src/calamares/progresstree/ViewStepItem.cpp @@ -46,6 +46,7 @@ void ViewStepItem::appendChild( ProgressTreeItem* item ) { Q_ASSERT( false ); + Q_UNUSED( item ); } diff --git a/src/crashreporter/CMakeLists.txt b/src/crashreporter/CMakeLists.txt deleted file mode 100644 index 20f16575b..000000000 --- a/src/crashreporter/CMakeLists.txt +++ /dev/null @@ -1,47 +0,0 @@ -PROJECT( CrashReporter ) -cmake_policy(SET CMP0017 NEW) - -set(CALAMARES_CRASH_REPORTER_TARGET calamares_crash_reporter) - -list(APPEND crashreporter_SOURCES main.cpp) -list(APPEND crashreporter_RC resources.qrc) - -qt5_wrap_ui( crashreporter_UI_HEADERS ${crashreporter_UI} ) -qt5_add_resources( crashreporter_RC_RCC ${crashreporter_RC} ) - - -if(BUILD_RELEASE) - set(CRASHREPORTER_RELEASE_CHANNEL "release") -else() - set(CRASHREPORTER_RELEASE_CHANNEL "nightly") -endif() - -set(CRASHREPORTER_SUBMIT_URL "https://calamares.io/oops/addreport.php") -set(CRASHREPORTER_ICON ":/squid.svg") -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CrashReporterConfig.h.in - ${CMAKE_CURRENT_BINARY_DIR}/CrashReporterConfig.h) - - -include_directories(${CMAKE_CURRENT_BINARY_DIR} - ../../libcalamares - ../../libcalamaresui - ../../thirdparty/libcrashreporter-qt/src -) - -add_executable( ${CALAMARES_CRASH_REPORTER_TARGET} - ${crashreporter_SOURCES} - ${crashreporter_HEADERS_MOC} - ${crashreporter_UI_HEADERS} - ${crashreporter_RC_RCC} -) - -target_link_libraries( ${CALAMARES_CRASH_REPORTER_TARGET} - ${CALAMARES_LIBRARIES} - crashreporter-gui - ${QT_LIBRARIES} -) - -set_target_properties(${CALAMARES_CRASH_REPORTER_TARGET} PROPERTIES AUTOMOC ON) -install(TARGETS ${CALAMARES_CRASH_REPORTER_TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}) - -qt5_use_modules(${CALAMARES_CRASH_REPORTER_TARGET} Widgets Network) diff --git a/src/crashreporter/CrashReporterConfig.h.in b/src/crashreporter/CrashReporterConfig.h.in deleted file mode 100644 index c1df8f8df..000000000 --- a/src/crashreporter/CrashReporterConfig.h.in +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef CRASHREPORTERCONFIG_H -#define CRASHREPORTERCONFIG_H - -// QCoreApplication settings for QSettings -#cmakedefine CALAMARES_ORGANIZATION_NAME "${CALAMARES_ORGANIZATION_NAME}" -#cmakedefine CALAMARES_ORGANIZATION_DOMAIN "${CALAMARES_ORGANIZATION_DOMAIN}" -#cmakedefine CALAMARES_APPLICATION_NAME "${CALAMARES_APPLICATION_NAME}" -#cmakedefine CALAMARES_VERSION "${CALAMARES_VERSION}" - - -#define CRASHREPORTER_BUILD_ID "@CMAKE_DATESTAMP_YEAR@@CMAKE_DATESTAMP_MONTH@@CMAKE_DATESTAMP_DAY@000000" - -#define CRASHREPORTER_RELEASE_CHANNEL "@CRASHREPORTER_RELEASE_CHANNEL@" - -#define CRASHREPORTER_PRODUCT_NAME "@CALAMARES_APPLICATION_NAME@" - -#define CRASHREPORTER_VERSION_STRING "@CALAMARES_VERSION_STRING@" - -#define CRASHREPORTER_SUBMIT_URL "@CRASHREPORTER_SUBMIT_URL@" - -#define CRASHREPORTER_ICON "@CRASHREPORTER_ICON@" - -#endif // CRASHREPORTERCONFIG_H diff --git a/src/crashreporter/main.cpp b/src/crashreporter/main.cpp deleted file mode 100644 index 17e6fd13b..000000000 --- a/src/crashreporter/main.cpp +++ /dev/null @@ -1,166 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2010-2011, Christian Muehlhaeuser - * Copyright 2015-2016, Teo Mrnjavac - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - -#include - -#include - -#include "CrashReporterConfig.h" - -#include -#include -#include -#include -#include - -#include "utils/CalamaresUtils.h" -#include "utils/Logger.h" - -#include - -#ifdef Q_OS_WIN - #include - #include -#endif - - -#ifdef Q_OS_LINUX -const char* k_usage = - "Usage:\n" - " CrashReporter \n"; -#else -const char* k_usage = - "Usage:\n" - " CrashReporter \n"; -#endif - -int main( int argc, char* argv[] ) -{ -#ifdef Q_OS_WIN // log to console window - if ( fileno( stdout ) != -1 && _get_osfhandle( fileno( stdout ) ) != -1 ) - { - /* stdout is fine, presumably redirected to a file or pipe */ - } - else - { - typedef BOOL (WINAPI * AttachConsole_t) (DWORD); - AttachConsole_t p_AttachConsole = (AttachConsole_t) GetProcAddress( GetModuleHandleW( L"kernel32.dll" ), "AttachConsole" ); - - if ( p_AttachConsole != NULL && p_AttachConsole( ATTACH_PARENT_PROCESS ) ) - { - _wfreopen ( L"CONOUT$", L"w", stdout ); - dup2( fileno( stdout ), 1 ); - _wfreopen ( L"CONOUT$", L"w", stderr ); - dup2( fileno( stderr ), 2 ); - } - } -#endif - - // used by some Qt stuff, eg QSettings - // leave first! As Settings object is created quickly - QCoreApplication::setOrganizationName( QLatin1String( CALAMARES_ORGANIZATION_NAME ) ); - QCoreApplication::setOrganizationDomain( QLatin1String( CALAMARES_ORGANIZATION_DOMAIN ) ); - QCoreApplication::setApplicationName( QLatin1String( CALAMARES_APPLICATION_NAME ) ); - QCoreApplication::setApplicationVersion( QLatin1String( CALAMARES_VERSION ) ); - - QApplication app( argc, argv ); - CalamaresUtils::installTranslator( QLocale::system(), QString(), &app ); - -#ifdef Q_OS_LINUX - if ( app.arguments().size() != 8 ) -#else - if ( app.arguments().size() != 2 ) -#endif - { - std::cout << k_usage; - return 1; - } - cDebug() << "Arguments list:" << app.arguments().join( ", " ); - - CrashReporter reporter( QUrl( CRASHREPORTER_SUBMIT_URL ), app.arguments() ); - - #ifdef CRASHREPORTER_ICON - reporter.setLogo( QPixmap( CRASHREPORTER_ICON ) ); - #endif - reporter.setWindowTitle( CRASHREPORTER_PRODUCT_NAME ); - reporter.setText("

Sorry!" - " " CRASHREPORTER_PRODUCT_NAME " crashed. Please tell us " - "about it! " CRASHREPORTER_PRODUCT_NAME " has created an error " - "report for you that can help improve the stability in the " - "future. You can now send this report directly to the " - CRASHREPORTER_PRODUCT_NAME " developers.

Can you tell us " - "what you were doing when this happened?

"); - reporter.setBottomText(QString()); - - reporter.setReportData( "BuildID", CRASHREPORTER_BUILD_ID ); - reporter.setReportData( "ProductName", CRASHREPORTER_PRODUCT_NAME ); - reporter.setReportData( "Version", CRASHREPORTER_VERSION_STRING ); - reporter.setReportData( "ReleaseChannel", CRASHREPORTER_RELEASE_CHANNEL); - - //reporter.setReportData( "timestamp", QByteArray::number( QDateTime::currentDateTime().toTime_t() ) ); - - - - // add parameters - -// QList pairs; -// pairs //<< Pair( "BuildID", buildId.toUtf8() ) -// << Pair( ) -// //<< Pair( "Version", CalamaresUtils::appFriendlyVersion().toLocal8Bit() ) -// //<< Pair( "Vendor", "Tomahawk" ) -// //<< Pair( ) - - // << Pair("InstallTime", "1357622062") - // << Pair("Theme", "classic/1.0") - // << Pair("Version", "30") - // << Pair("id", "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}") - // << Pair("Vendor", "Mozilla") - // << Pair("EMCheckCompatibility", "true") - // << Pair("Throttleable", "0") - // << Pair("URL", "http://code.google.com/p/crashme/") - // << Pair("version", "20.0a1") - // << Pair("CrashTime", "1357770042") - // << Pair("submitted_timestamp", "2013-01-09T22:21:18.646733+00:00") - // << Pair("buildid", "20130107030932") - // << Pair("timestamp", "1357770078.646789") - // << Pair("Notes", "OpenGL: NVIDIA Corporation -- GeForce 8600M GT/PCIe/SSE2 -- 3.3.0 NVIDIA 313.09 -- texture_from_pixmap\r\n") - // << Pair("StartupTime", "1357769913") - // << Pair("FramePoisonSize", "4096") - // << Pair("FramePoisonBase", "7ffffffff0dea000") - // << Pair("Add-ons", "%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:20.0a1,crashme%40ted.mielczarek.org:0.4") - // << Pair("SecondsSinceLastCrash", "1831736") - // << Pair("ProductName", "WaterWolf") - // << Pair("legacy_processing", "0") - // << Pair("ProductID", "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}") - - ; - - // send log - QFile logFile( CalamaresUtils::appLogDir().filePath( "Calamares.log" ) ); - logFile.open( QFile::ReadOnly ); - reporter.setReportData( "upload_file_calamareslog", - gzip_compress( logFile.readAll() ), - "application/x-gzip", - QFileInfo( logFile ).fileName().toUtf8()); - logFile.close(); - - reporter.show(); - - return app.exec(); -} diff --git a/src/crashreporter/resources.qrc b/src/crashreporter/resources.qrc deleted file mode 100644 index 4618c8f94..000000000 --- a/src/crashreporter/resources.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - - ../../data/images/squid.svg - - diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index fd94e3eab..d52e60bfa 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -1,9 +1,11 @@ -project( libcalamares ) +project( libcalamares CXX ) -add_definitions( ${QT_DEFINITIONS} ) -add_definitions( -DQT_SHARED ) -add_definitions( -DQT_SHAREDPOINTER_TRACK_POINTERS ) -add_definitions( -DDLLEXPORT_PRO ) +add_definitions( + ${QT_DEFINITIONS} + -DQT_SHARED + -DQT_SHAREDPOINTER_TRACK_POINTERS + -DDLLEXPORT_PRO +) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/CalamaresConfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/CalamaresConfig.h ) @@ -16,27 +18,27 @@ set( libSources Job.cpp JobQueue.cpp ProcessJob.cpp - - kdsingleapplicationguard/kdsingleapplicationguard.cpp - kdsingleapplicationguard/kdsharedmemorylocker.cpp - kdsingleapplicationguard/kdtoolsglobal.cpp - kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp - +) +set( utilsSources utils/CalamaresUtils.cpp utils/CalamaresUtilsSystem.cpp utils/Logger.cpp utils/PluginFactory.cpp utils/Retranslator.cpp ) +set( kdsagSources + kdsingleapplicationguard/kdsingleapplicationguard.cpp + kdsingleapplicationguard/kdsharedmemorylocker.cpp + kdsingleapplicationguard/kdtoolsglobal.cpp + kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp +) +mark_thirdparty_code( ${kdsagSources} ) include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} - - ${QT_INCLUDE_DIR} ) - if( WITH_PYTHON ) set( libSources ${libSources} @@ -44,6 +46,9 @@ if( WITH_PYTHON ) PythonJob.cpp PythonJobApi.cpp ) + set_source_files_properties( PythonJob.cpp + PROPERTIES COMPILE_FLAGS "${SUPPRESS_BOOST_WARNINGS}" + ) include_directories(${PYTHON_INCLUDE_DIRS}) link_directories(${PYTHON_LIBRARIES}) @@ -73,7 +78,7 @@ if( WITH_PYTHONQT ) endif() -add_library( calamares SHARED ${libSources} ) +add_library( calamares SHARED ${libSources} ${kdsagSources} ${utilsSources} ) set_target_properties( calamares PROPERTIES AUTOMOC TRUE @@ -81,17 +86,9 @@ set_target_properties( calamares SOVERSION ${CALAMARES_VERSION_SHORT} ) -qt5_use_modules( calamares Core ) - - target_link_libraries( calamares - LINK_PRIVATE - # internal deps, if any - ${OPTIONAL_PRIVATE_LIBRARIES} - - LINK_PUBLIC - # External deps - Qt5::Core + LINK_PRIVATE ${OPTIONAL_PRIVATE_LIBRARIES} + LINK_PUBLIC Qt5::Core ) install( TARGETS calamares diff --git a/src/libcalamares/CalamaresConfig.h.in b/src/libcalamares/CalamaresConfig.h.in index f278853a9..6fbab422c 100644 --- a/src/libcalamares/CalamaresConfig.h.in +++ b/src/libcalamares/CalamaresConfig.h.in @@ -10,7 +10,6 @@ //cmakedefines for CMake variables (e.g. for optdepends) go here #cmakedefine WITH_PYTHON -#cmakedefine WITH_CRASHREPORTER #cmakedefine WITH_PYTHONQT #endif // CALAMARESCONFIG_H diff --git a/src/libcalamares/CppJob.cpp b/src/libcalamares/CppJob.cpp index 1925e398b..73868799a 100644 --- a/src/libcalamares/CppJob.cpp +++ b/src/libcalamares/CppJob.cpp @@ -40,6 +40,8 @@ CppJob::setModuleInstanceKey( const QString& instanceKey ) void CppJob::setConfigurationMap( const QVariantMap& configurationMap ) -{} +{ + Q_UNUSED( configurationMap ); +} } diff --git a/src/libcalamares/ProcessJob.h b/src/libcalamares/ProcessJob.h index ba6e650f6..43fdf254e 100644 --- a/src/libcalamares/ProcessJob.h +++ b/src/libcalamares/ProcessJob.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,7 +33,7 @@ public: bool runInChroot = false, int secondsTimeout = 30, QObject* parent = nullptr ); - virtual ~ProcessJob(); + virtual ~ProcessJob() override; QString prettyName() const override; QString prettyStatusMessage() const override; diff --git a/src/libcalamares/PythonJob.h b/src/libcalamares/PythonJob.h index d13705ed8..2f0dbee07 100644 --- a/src/libcalamares/PythonJob.h +++ b/src/libcalamares/PythonJob.h @@ -39,7 +39,7 @@ public: const QString& workingPath, const QVariantMap& moduleConfiguration = QVariantMap(), QObject* parent = nullptr ); - virtual ~PythonJob(); + virtual ~PythonJob() override; QString prettyName() const override; QString prettyStatusMessage() const override; diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index c38d398e6..656a57c10 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,6 +27,15 @@ #include #include +#ifdef Q_OS_LINUX +#include +#endif + +#ifdef Q_OS_FREEBSD +#include +#include +#endif + namespace CalamaresUtils { @@ -221,50 +231,29 @@ System::targetEnvOutput( const QString& command, } -qint64 -System::getPhysicalMemoryB() -{ - QProcess p; - p.start( "dmidecode", { "-t", "17" } ); - p.waitForFinished(); - QStringList lines = QString::fromLocal8Bit( p.readAllStandardOutput() ).split( '\n' ); - lines = lines.filter( QRegularExpression( "^\\W*Size:\\W\\d*\\WMB" ) ); - if ( !lines.isEmpty() ) - return 0; - - qint64 availableRamMb = 0; - foreach( const QString& line, lines ) - { - bool ok = false; - availableRamMb += line.simplified() - .split( ' ' ) - .value( 1 ) - .toInt( &ok ); - if ( !ok ) - return 0; - } - qint64 availableRam = availableRamMb * 1024 * 1024; - return availableRam; -} - - -qint64 +QPair System::getTotalMemoryB() { - // A line in meminfo looks like this, with {print $2} we grab the second column. - // MemTotal: 8133432 kB +#ifdef Q_OS_LINUX + struct sysinfo i; + int r = sysinfo( &i ); - QProcess p; - p.start( "awk", { "/MemTotal/ {print $2}", "/proc/meminfo" } ); - p.waitForFinished(); - QString memoryLine = p.readAllStandardOutput().simplified(); + if (r) + return qMakePair(0, 0.0); - bool ok = false; - qint64 availableRam = memoryLine.toLongLong( &ok ) * 1024; - if ( !ok ) - return 0; + return qMakePair(quint64( i.mem_unit ) * quint64( i.totalram ), 1.1); +#elif defined( Q_OS_FREEBSD ) + unsigned long memsize; + size_t s = sizeof(memsize); - return availableRam; + int r = sysctlbyname("vm.kmem_size", &memsize, &s, NULL, 0); + if (r) + return qMakePair(0, 0.0); + + return qMakePair(memsize, 1.01); +#else + return qMakePair(0, 0.0); // Unsupported +#endif } diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index bf3acb41c..1ccdfb516 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -100,9 +100,19 @@ public: /** * @brief getTotalMemoryB returns the total main memory, in bytes. + * + * Since it is difficult to get the RAM memory size exactly -- either + * by reading information from the DIMMs, which may fail on virtual hosts + * or from asking the kernel, which doesn't report some memory areas -- + * this returns a pair of guessed-size (in bytes) and a "guesstimate factor" + * which says how good the guess is. Generally, assume the *real* memory + * available is size * guesstimate. + * + * If nothing can be found, returns a 0 size and 0 guesstimate. + * + * @return size, guesstimate-factor */ - DLLEXPORT qint64 getTotalMemoryB(); //Always underguessed, but always works on Linux - DLLEXPORT qint64 getPhysicalMemoryB(); //Better guess, doesn't work in VirualBox + DLLEXPORT QPair getTotalMemoryB(); private: static System* s_instance; diff --git a/src/libcalamares/utils/Logger.cpp b/src/libcalamares/utils/Logger.cpp index 5c18c2d29..7caf2a18c 100644 --- a/src/libcalamares/utils/Logger.cpp +++ b/src/libcalamares/utils/Logger.cpp @@ -39,9 +39,9 @@ using namespace std; -ofstream logfile; -static int s_threshold = -1; -QMutex s_mutex; +static ofstream logfile; +static unsigned int s_threshold = 0; +static QMutex s_mutex; namespace Logger { @@ -49,20 +49,22 @@ namespace Logger static void log( const char* msg, unsigned int debugLevel, bool toDisk = true ) { - if ( s_threshold < 0 ) + if ( !s_threshold ) { if ( qApp->arguments().contains( "--debug" ) || qApp->arguments().contains( "-d" ) ) s_threshold = LOGVERBOSE; else - #ifdef QT_NO_DEBUG +#ifdef QT_NO_DEBUG s_threshold = RELEASE_LEVEL_THRESHOLD; - #else +#else s_threshold = DEBUG_LEVEL_THRESHOLD; - #endif +#endif + // Comparison is < threshold, below + ++s_threshold; } - if ( toDisk || (int)debugLevel <= s_threshold ) + if ( toDisk || debugLevel < s_threshold ) { QMutexLocker lock( &s_mutex ); @@ -78,7 +80,7 @@ log( const char* msg, unsigned int debugLevel, bool toDisk = true ) logfile.flush(); } - if ( debugLevel <= LOGEXTRA || (int)debugLevel <= s_threshold ) + if ( debugLevel <= LOGEXTRA || debugLevel < s_threshold ) { QMutexLocker lock( &s_mutex ); @@ -96,6 +98,8 @@ CalamaresLogHandler( QtMsgType type, const QMessageLogContext& context, const QS { static QMutex s_mutex; + Q_UNUSED( context ); + QByteArray ba = msg.toUtf8(); const char* message = ba.constData(); @@ -106,14 +110,12 @@ CalamaresLogHandler( QtMsgType type, const QMessageLogContext& context, const QS log( message, LOGVERBOSE ); break; + case QtInfoMsg: + log( message, 1 ); + break; + case QtCriticalMsg: - log( message, 0 ); - break; - case QtWarningMsg: - log( message, 0 ); - break; - case QtFatalMsg: log( message, 0 ); break; diff --git a/src/libcalamares/utils/Logger.h b/src/libcalamares/utils/Logger.h index 72bed2000..0cf4b4ad3 100644 --- a/src/libcalamares/utils/Logger.h +++ b/src/libcalamares/utils/Logger.h @@ -52,7 +52,7 @@ namespace Logger virtual ~CDebug(); }; - DLLEXPORT void CalamaresLogHandler( QtMsgType type, const char* msg ); + DLLEXPORT void CalamaresLogHandler( QtMsgType type, const QMessageLogContext& context, const QString& msg ); DLLEXPORT void setupLogfile(); DLLEXPORT QString logFile(); } diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp index 30a5bf4bf..b1c3a0793 100644 --- a/src/libcalamares/utils/PluginFactory.cpp +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Based on KPluginFactory from KCoreAddons, KDE project * Copyright 2007, Matthias Kretz @@ -26,7 +27,7 @@ #include #include -Q_GLOBAL_STATIC(QObjectCleanupHandler, factorycleanup) +Q_GLOBAL_STATIC( QObjectCleanupHandler, factorycleanup ) extern int kLibraryDebugArea(); @@ -34,18 +35,18 @@ namespace Calamares { PluginFactory::PluginFactory() - : d_ptr(new PluginFactoryPrivate) + : d_ptr( new PluginFactoryPrivate ) { - Q_D(PluginFactory); + Q_D( PluginFactory ); d->q_ptr = this; - factorycleanup()->add(this); + factorycleanup()->add( this ); } -PluginFactory::PluginFactory(PluginFactoryPrivate &d) - : d_ptr(&d) +PluginFactory::PluginFactory( PluginFactoryPrivate& d ) + : d_ptr( &d ) { - factorycleanup()->add(this); + factorycleanup()->add( this ); } PluginFactory::~PluginFactory() @@ -53,70 +54,77 @@ PluginFactory::~PluginFactory() delete d_ptr; } -void PluginFactory::doRegisterPlugin(const QString &keyword, const QMetaObject *metaObject, CreateInstanceFunction instanceFunction) +void PluginFactory::doRegisterPlugin( const QString& keyword, const QMetaObject* metaObject, CreateInstanceFunction instanceFunction ) { - Q_D(PluginFactory); + Q_D( PluginFactory ); - Q_ASSERT(metaObject); + Q_ASSERT( metaObject ); // we allow different interfaces to be registered without keyword - if (!keyword.isEmpty()) { - if (d->createInstanceHash.contains(keyword)) { + if ( !keyword.isEmpty() ) + { + if ( d->createInstanceHash.contains( keyword ) ) qWarning() << "A plugin with the keyword" << keyword << "was already registered. A keyword must be unique!"; - } - d->createInstanceHash.insert(keyword, PluginFactoryPrivate::Plugin(metaObject, instanceFunction)); - } else { - const QList clashes(d->createInstanceHash.values(keyword)); - const QMetaObject *superClass = metaObject->superClass(); - if (superClass) { - for (const PluginFactoryPrivate::Plugin &plugin : clashes) { - for (const QMetaObject *otherSuper = plugin.first->superClass(); otherSuper; - otherSuper = otherSuper->superClass()) { - if (superClass == otherSuper) { + d->createInstanceHash.insert( keyword, PluginFactoryPrivate::Plugin( metaObject, instanceFunction ) ); + } + else + { + const QList clashes( d->createInstanceHash.values( keyword ) ); + const QMetaObject* superClass = metaObject->superClass(); + if ( superClass ) + { + for ( const PluginFactoryPrivate::Plugin& plugin : clashes ) + { + for ( const QMetaObject* otherSuper = plugin.first->superClass(); otherSuper; + otherSuper = otherSuper->superClass() ) + { + if ( superClass == otherSuper ) qWarning() << "Two plugins with the same interface(" << superClass->className() << ") were registered. Use keywords to identify the plugins."; - } } } } - for (const PluginFactoryPrivate::Plugin &plugin : clashes) { + for ( const PluginFactoryPrivate::Plugin& plugin : clashes ) + { superClass = plugin.first->superClass(); - if (superClass) { - for (const QMetaObject *otherSuper = metaObject->superClass(); otherSuper; - otherSuper = otherSuper->superClass()) { - if (superClass == otherSuper) { + if ( superClass ) + { + for ( const QMetaObject* otherSuper = metaObject->superClass(); otherSuper; + otherSuper = otherSuper->superClass() ) + { + if ( superClass == otherSuper ) qWarning() << "Two plugins with the same interface(" << superClass->className() << ") were registered. Use keywords to identify the plugins."; - } } } } - d->createInstanceHash.insertMulti(keyword, PluginFactoryPrivate::Plugin(metaObject, instanceFunction)); + d->createInstanceHash.insertMulti( keyword, PluginFactoryPrivate::Plugin( metaObject, instanceFunction ) ); } } -QObject *PluginFactory::create(const char *iface, QWidget *parentWidget, QObject *parent, const QString &keyword) +QObject* PluginFactory::create( const char* iface, QWidget* parentWidget, QObject* parent, const QString& keyword ) { - Q_D(PluginFactory); + Q_D( PluginFactory ); - QObject *obj = 0; + QObject* obj = nullptr; - const QList candidates(d->createInstanceHash.values(keyword)); + const QList candidates( d->createInstanceHash.values( keyword ) ); // for !keyword.isEmpty() candidates.count() is 0 or 1 - for (const PluginFactoryPrivate::Plugin &plugin : candidates) { - for (const QMetaObject *current = plugin.first; current; current = current->superClass()) { - if (0 == qstrcmp(iface, current->className())) { - if (obj) { + for ( const PluginFactoryPrivate::Plugin& plugin : candidates ) + { + for ( const QMetaObject* current = plugin.first; current; current = current->superClass() ) + { + if ( 0 == qstrcmp( iface, current->className() ) ) + { + if ( obj ) qWarning() << "ambiguous interface requested from a DSO containing more than one plugin"; - } - obj = plugin.second(parentWidget, parent); + obj = plugin.second( parentWidget, parent ); break; } } } - if (obj) { - emit objectCreated(obj); - } + if ( obj ) + emit objectCreated( obj ); return obj; } diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index a45078f65..55c44249c 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Based on KPluginFactory from KCoreAddons, KDE project * Copyright 2007, Matthias Kretz @@ -199,7 +200,7 @@ namespace Calamares class DLLEXPORT PluginFactory : public QObject { Q_OBJECT - Q_DECLARE_PRIVATE(PluginFactory) + Q_DECLARE_PRIVATE( PluginFactory ) public: /** * This constructor creates a factory for a plugin. @@ -222,7 +223,7 @@ public: * \returns A pointer to the created object is returned, or 0 if an error occurred. */ template - T *create(QObject *parent = 0); + T* create( QObject* parent = nullptr ); /** * Use this method to create an object. It will try to create an object which inherits @@ -235,34 +236,35 @@ public: * \returns A pointer to the created object is returned, or 0 if an error occurred. */ template - T *create(const QString &keyword, QObject *parent = 0); + T* create( const QString& keyword, QObject* parent = nullptr ); Q_SIGNALS: - void objectCreated(QObject *object); + void objectCreated( QObject* object ); protected: /** * Function pointer type to a function that instantiates a plugin. */ - typedef QObject *(*CreateInstanceFunction)(QWidget *, QObject *); + typedef QObject* ( *CreateInstanceFunction )( QWidget*, QObject* ); /** * This is used to detect the arguments need for the constructor of plugin classes. * You can inherit it, if you want to add new classes and still keep support for the old ones. */ template - struct InheritanceChecker { - CreateInstanceFunction createInstanceFunction(QWidget *) + struct InheritanceChecker + { + CreateInstanceFunction createInstanceFunction( QWidget* ) { return &createInstance; } - CreateInstanceFunction createInstanceFunction(...) + CreateInstanceFunction createInstanceFunction( ... ) { return &createInstance; } }; - explicit PluginFactory(PluginFactoryPrivate &dd); + explicit PluginFactory( PluginFactoryPrivate& dd ); /** * Registers a plugin with the factory. Call this function from the constructor of the @@ -292,14 +294,14 @@ protected: * \endcode */ template - void registerPlugin(const QString &keyword = QString(), - CreateInstanceFunction instanceFunction - = InheritanceChecker().createInstanceFunction(reinterpret_cast(0))) + void registerPlugin( const QString& keyword = QString(), + CreateInstanceFunction instanceFunction + = InheritanceChecker().createInstanceFunction( reinterpret_cast( 0 ) ) ) { - doRegisterPlugin(keyword, &T::staticMetaObject, instanceFunction); + doRegisterPlugin( keyword, &T::staticMetaObject, instanceFunction ); } - PluginFactoryPrivate *const d_ptr; + PluginFactoryPrivate* const d_ptr; /** * This function is called when the factory asked to create an Object. @@ -314,56 +316,55 @@ protected: * \param keyword A string that uniquely identifies the plugin. If a KService is used this * keyword is read from the X-KDE-PluginKeyword entry in the .desktop file. */ - virtual QObject *create(const char *iface, QWidget *parentWidget, QObject *parent, const QString &keyword); + virtual QObject* create( const char* iface, QWidget* parentWidget, QObject* parent, const QString& keyword ); template - static QObject *createInstance(QWidget *parentWidget, QObject *parent) + static QObject* createInstance( QWidget* parentWidget, QObject* parent ) { - Q_UNUSED(parentWidget); - ParentType *p = 0; - if (parent) { - p = qobject_cast(parent); - Q_ASSERT(p); + Q_UNUSED( parentWidget ); + ParentType* p = nullptr; + if ( parent ) + { + p = qobject_cast( parent ); + Q_ASSERT( p ); } - return new impl(p); + return new impl( p ); } private: - void doRegisterPlugin(const QString &keyword, const QMetaObject *metaObject, CreateInstanceFunction instanceFunction); + void doRegisterPlugin( const QString& keyword, const QMetaObject* metaObject, CreateInstanceFunction instanceFunction ); }; template -inline T *PluginFactory::create(QObject *parent) +inline T* PluginFactory::create( QObject* parent ) { - QObject *o = create(T::staticMetaObject.className(), - parent && parent->isWidgetType() ? reinterpret_cast(parent) : 0, - parent, - QString()); + QObject* o = create( T::staticMetaObject.className(), + parent && parent->isWidgetType() ? reinterpret_cast( parent ) : nullptr, + parent, + QString() ); - T *t = qobject_cast(o); - if (!t) { + T* t = qobject_cast( o ); + if ( !t ) delete o; - } return t; } template -inline T *PluginFactory::create(const QString &keyword, QObject *parent) +inline T* PluginFactory::create( const QString& keyword, QObject* parent ) { - QObject *o = create(T::staticMetaObject.className(), - parent && parent->isWidgetType() ? reinterpret_cast(parent) : 0, - parent, - keyword); + QObject* o = create( T::staticMetaObject.className(), + parent && parent->isWidgetType() ? reinterpret_cast( parent ) : nullptr, + parent, + keyword ); - T *t = qobject_cast(o); - if (!t) { + T* t = qobject_cast( o ); + if ( !t ) delete o; - } return t; } } -Q_DECLARE_INTERFACE(Calamares::PluginFactory, CalamaresPluginFactory_iid) +Q_DECLARE_INTERFACE( Calamares::PluginFactory, CalamaresPluginFactory_iid ) #endif // CALAMARESPLUGINFACTORY_H diff --git a/src/libcalamares/utils/Units.h b/src/libcalamares/utils/Units.h new file mode 100644 index 000000000..391d67194 --- /dev/null +++ b/src/libcalamares/utils/Units.h @@ -0,0 +1,65 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef LIBCALAMARES_UTILS_UNITS_H +#define LIBCALAMARES_UTILS_UNITS_H + +#include + +namespace CalamaresUtils +{ + +/** User defined literals, 1_MiB is 1 MibiByte (= 2^20 bytes) */ +constexpr qint64 operator ""_MiB( unsigned long long m ) +{ + return qint64(m) * 1024 * 1024; +} + +/** User defined literals, 1_GiB is 1 GibiByte (= 2^30 bytes) */ +constexpr qint64 operator ""_GiB( unsigned long long m ) +{ + return operator ""_MiB(m) * 1024; +} + +constexpr qint64 MiBtoBytes( unsigned long long m ) +{ + return operator ""_MiB( m ); +} + +constexpr qint64 GiBtoBytes( unsigned long long m ) +{ + return operator ""_GiB( m ); +} + +constexpr qint64 MiBToBytes( double m ) +{ + return qint64(m * 1024 * 1024); +} + +constexpr qint64 GiBtoBytes( double m ) +{ + return qint64(m * 1024 * 1024 * 1024); +} + +constexpr int BytesToMiB( qint64 b ) +{ + return int( b / 1024 / 1024 ); +} + +} // namespace +#endif diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index 11d607853..6d559c6fb 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -179,7 +179,7 @@ Branding::Branding( const QString& brandingFilePath, } catch ( YAML::Exception& e ) { - cDebug() << "WARNING: YAML parser error " << e.what(); + cDebug() << "WARNING: YAML parser error " << e.what() << "in" << file.fileName(); } QDir translationsDir( componentDir.filePath( "lang" ) ); diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index ee039b46d..ccc46f2f3 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -1,6 +1,6 @@ -set( CALAMARESUI_LIBRARY_TARGET calamaresui ) +project( libcalamaresui CXX ) -list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_SOURCES +set( calamaresui_SOURCES modulesystem/CppJobModule.cpp modulesystem/Module.cpp modulesystem/ModuleManager.cpp @@ -20,7 +20,7 @@ list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_SOURCES widgets/ClickableLabel.cpp widgets/FixedAspectRatioLabel.cpp - widgets/QtWaitingSpinner.cpp + widgets/waitingspinnerwidget.cpp widgets/WaitingWidget.cpp ExecutionViewStep.cpp @@ -29,12 +29,20 @@ list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_SOURCES ViewManager.cpp ) -list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_UI +# Don't warn about third-party sources +mark_thirdparty_code( + utils/ImageRegistry.cpp + utils/qjsonitem.cpp + utils/qjsonmodel.cpp + widgets/waitingspinnerwidget.cpp +) + +set( calamaresui_UI utils/DebugWindow.ui ) if( WITH_PYTHON ) - list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_SOURCES + list( APPEND calamaresui_SOURCES modulesystem/PythonJobModule.cpp ) endif() @@ -43,7 +51,7 @@ if( WITH_PYTHONQT ) include_directories(${PYTHON_INCLUDE_DIRS}) include_directories(${PYTHONQT_INCLUDE_DIR}) - list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_SOURCES + list( APPEND calamaresui_SOURCES modulesystem/PythonQtViewModule.cpp utils/PythonQtUtils.cpp viewpages/PythonQtJob.cpp @@ -58,12 +66,12 @@ if( WITH_PYTHONQT ) ) endif() -calamares_add_library( ${CALAMARESUI_LIBRARY_TARGET} - SOURCES ${${CALAMARESUI_LIBRARY_TARGET}_SOURCES} - UI ${${CALAMARESUI_LIBRARY_TARGET}_UI} +calamares_add_library( calamaresui + SOURCES ${calamaresui_SOURCES} + UI ${calamaresui_UI} EXPORT_MACRO UIDLLEXPORT_PRO LINK_PRIVATE_LIBRARIES - yaml-cpp + ${YAMLCPP_LIBRARY} Qt5::Svg Qt5::QuickWidgets ${OPTIONAL_PRIVATE_LIBRARIES} diff --git a/src/libcalamaresui/ExecutionViewStep.cpp b/src/libcalamaresui/ExecutionViewStep.cpp index fb43122b9..37c2318d0 100644 --- a/src/libcalamaresui/ExecutionViewStep.cpp +++ b/src/libcalamaresui/ExecutionViewStep.cpp @@ -165,7 +165,7 @@ ExecutionViewStep::appendJobModuleInstanceKey( const QString& instanceKey ) void ExecutionViewStep::updateFromJobQueue( qreal percent, const QString& message ) { - m_progressBar->setValue( percent * m_progressBar->maximum() ); + m_progressBar->setValue( int( percent * m_progressBar->maximum() ) ); m_label->setText( message ); } diff --git a/src/libcalamaresui/Settings.cpp b/src/libcalamaresui/Settings.cpp index 719f950fe..ce01bf42d 100644 --- a/src/libcalamaresui/Settings.cpp +++ b/src/libcalamaresui/Settings.cpp @@ -156,7 +156,7 @@ Settings::Settings( const QString& settingsFilePath, } catch ( YAML::Exception& e ) { - cDebug() << "WARNING: YAML parser error " << e.what(); + cDebug() << "WARNING: YAML parser error " << e.what() << "in" << file.fileName(); } } else diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 4a8b7acf5..7b5df155b 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -109,9 +109,7 @@ ViewManager::ViewManager( QObject* parent ) qApp->quit(); } else // Means we're at the end, no need to confirm. - { qApp->quit(); - } } ); connect( JobQueue::instance(), &JobQueue::failed, @@ -145,16 +143,15 @@ ViewManager::addViewStep( ViewStep* step ) void -ViewManager::insertViewStep( int before, ViewStep* step) +ViewManager::insertViewStep( int before, ViewStep* step ) { m_steps.insert( before, step ); QLayout* layout = step->widget()->layout(); if ( layout ) - { layout->setContentsMargins( 0, 0, 0, 0 ); - } m_stack->insertWidget( before, step->widget() ); + connect( step, &ViewStep::enlarge, this, &ViewManager::enlarge ); connect( step, &ViewStep::nextStatusChanged, this, [this]( bool status ) { @@ -180,19 +177,17 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail QMessageBox* msgBox = new QMessageBox(); msgBox->setIcon( QMessageBox::Critical ); - msgBox->setWindowTitle( tr("Error") ); + msgBox->setWindowTitle( tr( "Error" ) ); msgBox->setText( "" + tr( "Installation Failed" ) + "" ); msgBox->setStandardButtons( QMessageBox::Close ); msgBox->button( QMessageBox::Close )->setText( tr( "&Close" ) ); QString text = "

" + message + "

"; if ( !details.isEmpty() ) - { text += "

" + details + "

"; - } msgBox->setInformativeText( text ); - connect(msgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit); + connect( msgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit ); cLog() << "Calamares will quit when the dialog closes."; msgBox->show(); } @@ -230,8 +225,8 @@ ViewManager::next() // and right before switching to an execution phase. // Depending on Calamares::Settings, we show an "are you sure" prompt or not. if ( Calamares::Settings::instance()->showPromptBeforeExecution() && - m_currentStep + 1 < m_steps.count() && - qobject_cast< ExecutionViewStep* >( m_steps.at( m_currentStep + 1 ) ) ) + m_currentStep + 1 < m_steps.count() && + qobject_cast< ExecutionViewStep* >( m_steps.at( m_currentStep + 1 ) ) ) { int reply = QMessageBox::question( m_widget, @@ -263,15 +258,13 @@ ViewManager::next() } } else - { step->next(); - } m_next->setEnabled( !executing && m_steps.at( m_currentStep )->isNextEnabled() ); m_back->setEnabled( !executing && m_steps.at( m_currentStep )->isBackEnabled() ); if ( m_currentStep == m_steps.count() -1 && - m_steps.last()->isAtEnd() ) + m_steps.last()->isAtEnd() ) { m_quit->setText( tr( "&Done" ) ); m_quit->setToolTip( tr( "The installation is complete. Close the installer." ) ); @@ -292,9 +285,7 @@ ViewManager::back() emit currentStepChanged(); } else if ( !step->isAtBeginning() ) - { step->back(); - } else return; m_next->setEnabled( m_steps.at( m_currentStep )->isNextEnabled() ); diff --git a/src/libcalamaresui/ViewManager.h b/src/libcalamaresui/ViewManager.h index f2f0ca57a..38ddda70a 100644 --- a/src/libcalamaresui/ViewManager.h +++ b/src/libcalamaresui/ViewManager.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -111,6 +112,7 @@ public slots: signals: void currentStepChanged(); + void enlarge( QSize enlarge ) const; // See ViewStep::enlarge() private: explicit ViewManager( QObject* parent = nullptr ); diff --git a/src/libcalamaresui/modulesystem/CppJobModule.h b/src/libcalamaresui/modulesystem/CppJobModule.h index 127614ec5..46d27bf8b 100644 --- a/src/libcalamaresui/modulesystem/CppJobModule.h +++ b/src/libcalamaresui/modulesystem/CppJobModule.h @@ -2,6 +2,7 @@ * * Copyright 2014, Teo Mrnjavac * Copyright 2016, Kevin Kofler + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -25,7 +26,8 @@ class QPluginLoader; -namespace Calamares { +namespace Calamares +{ class UIDLLEXPORT CppJobModule : public Module { @@ -42,7 +44,7 @@ protected: private: friend class Module; //so only the superclass can instantiate explicit CppJobModule(); - virtual ~CppJobModule(); + virtual ~CppJobModule() override; QPluginLoader* m_loader; job_ptr m_job; diff --git a/src/libcalamaresui/modulesystem/Module.h b/src/libcalamaresui/modulesystem/Module.h index 7c331351d..5f756938f 100644 --- a/src/libcalamaresui/modulesystem/Module.h +++ b/src/libcalamaresui/modulesystem/Module.h @@ -100,9 +100,9 @@ public: /** * @brief instanceKey returns the instance key of this module. * @return a string with the instance key. - * A module instance's instance key is modulename@instanceid. - * @example "partition@partition" (default configuration) or - * "locale@someconfig" (custom configuration) + * A module instance's instance key is modulename\@instanceid. + * For instance, "partition\@partition" (default configuration) or + * "locale\@someconfig" (custom configuration) */ virtual QString instanceKey() const final; diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index dd7abdf29..44eed30f0 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -57,7 +57,13 @@ ModuleManager::ModuleManager( const QStringList& paths, QObject* parent ) ModuleManager::~ModuleManager() -{} +{ + // The map is populated with Module::fromDescriptor(), which allocates on the heap. + for( auto moduleptr : m_loadedModulesByInstanceKey ) + { + delete moduleptr; + } +} void @@ -213,14 +219,14 @@ ModuleManager::loadModules() } auto findCustomInstance = - [ customInstances ]( const QString& moduleName, - const QString& instanceId ) -> int + [ customInstances ]( const QString& module, + const QString& id) -> int { for ( int i = 0; i < customInstances.count(); ++i ) { auto thisInstance = customInstances[ i ]; - if ( thisInstance.value( "module" ) == moduleName && - thisInstance.value( "id" ) == instanceId ) + if ( thisInstance.value( "module" ) == module && + thisInstance.value( "id" ) == id ) return i; } return -1; diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.h b/src/libcalamaresui/modulesystem/ProcessJobModule.h index b160fd25f..af9a46bd5 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.h +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,7 +24,8 @@ #include "UiDllMacro.h" -namespace Calamares { +namespace Calamares +{ class UIDLLEXPORT ProcessJobModule : public Module { @@ -40,7 +42,7 @@ protected: private: friend class Module; explicit ProcessJobModule(); - virtual ~ProcessJobModule(); + virtual ~ProcessJobModule() override; QString m_command; QString m_workingPath; diff --git a/src/libcalamaresui/modulesystem/PythonJobModule.h b/src/libcalamaresui/modulesystem/PythonJobModule.h index e47d777c9..c82137cb8 100644 --- a/src/libcalamaresui/modulesystem/PythonJobModule.h +++ b/src/libcalamaresui/modulesystem/PythonJobModule.h @@ -40,7 +40,7 @@ protected: private: friend class Module; explicit PythonJobModule(); - virtual ~PythonJobModule(); + virtual ~PythonJobModule() override; QString m_scriptFileName; QString m_workingPath; diff --git a/src/libcalamaresui/modulesystem/ViewModule.h b/src/libcalamaresui/modulesystem/ViewModule.h index 177c1eba1..6b2e381a2 100644 --- a/src/libcalamaresui/modulesystem/ViewModule.h +++ b/src/libcalamaresui/modulesystem/ViewModule.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,7 +25,8 @@ class QPluginLoader; -namespace Calamares { +namespace Calamares +{ class ViewStep; @@ -43,7 +45,7 @@ protected: private: friend class Module; //so only the superclass can instantiate explicit ViewModule(); - virtual ~ViewModule(); + virtual ~ViewModule() override; QPluginLoader* m_loader; ViewStep* m_viewStep = nullptr; diff --git a/src/libcalamaresui/utils/ImageRegistry.cpp b/src/libcalamaresui/utils/ImageRegistry.cpp index ad3e606ab..442017048 100644 --- a/src/libcalamaresui/utils/ImageRegistry.cpp +++ b/src/libcalamaresui/utils/ImageRegistry.cpp @@ -1,31 +1,31 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * - * Copyright 2014, Teo Mrnjavac - * - * Originally from Tomahawk, - * Copyright 2012, Christian Muehlhaeuser - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . + * SPDX-License-Identifier: GPLv3+ + * License-Filename: LICENSES/GPLv3+-ImageRegistry */ +/* + * Copyright 2012, Christian Muehlhaeuser + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + #include "ImageRegistry.h" #include #include -#include - -#include "utils/Logger.h" +#include static QHash< QString, QHash< int, QHash< qint64, QPixmap > > > s_cache; ImageRegistry* ImageRegistry::s_instance = 0; @@ -61,6 +61,12 @@ ImageRegistry::cacheKey( const QSize& size, float opacity, QColor tint ) QPixmap ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, QColor tint ) { + if ( size.width() < 0 || size.height() < 0 ) + { + Q_ASSERT( false ); + return QPixmap(); + } + QHash< qint64, QPixmap > subsubcache; QHash< int, QHash< qint64, QPixmap > > subcache; @@ -82,11 +88,10 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: // Image not found in cache. Let's load it. QPixmap pixmap; - if ( image.toLower().endsWith( ".svg" ) || - image.toLower().endsWith( ".svgz" ) ) + if ( image.toLower().endsWith( ".svg" ) ) { QSvgRenderer svgRenderer( image ); - QPixmap p( size.isNull() ? svgRenderer.defaultSize() : size ); + QPixmap p( size.isNull() || size.height() == 0 || size.width() == 0 ? svgRenderer.defaultSize() : size ); p.fill( Qt::transparent ); QPainter pixPainter( &p ); @@ -105,7 +110,7 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: resultImage.setAlphaChannel( p.toImage().alphaChannel() ); p = QPixmap::fromImage( resultImage ); - } + } pixmap = p; } @@ -125,7 +130,18 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: } if ( !size.isNull() && pixmap.size() != size ) - pixmap = pixmap.scaled( size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); + { + if ( size.width() == 0 ) + { + pixmap = pixmap.scaledToHeight( size.height(), Qt::SmoothTransformation ); + } + else if ( size.height() == 0 ) + { + pixmap = pixmap.scaledToWidth( size.width(), Qt::SmoothTransformation ); + } + else + pixmap = pixmap.scaled( size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); + } putInCache( image, size, mode, opacity, pixmap, tint ); } @@ -137,8 +153,6 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: void ImageRegistry::putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ) { -// cDebug( LOGVERBOSE ) << Q_FUNC_INFO << "Adding to image cache:" << image << size << mode; - QHash< qint64, QPixmap > subsubcache; QHash< int, QHash< qint64, QPixmap > > subcache; diff --git a/src/libcalamaresui/utils/ImageRegistry.h b/src/libcalamaresui/utils/ImageRegistry.h index 41ed2d6ac..e35eaf74a 100644 --- a/src/libcalamaresui/utils/ImageRegistry.h +++ b/src/libcalamaresui/utils/ImageRegistry.h @@ -1,24 +1,26 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * - * Copyright 2014, Teo Mrnjavac - * - * Originally from Tomahawk, - * Copyright 2012, Christian Muehlhaeuser - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . + * SPDX-License-Identifier: GPLv3+ + * License-Filename: LICENSES/GPLv3+-ImageRegistry */ +/* + * Copyright 2012, Christian Muehlhaeuser + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + #ifndef IMAGE_REGISTRY_H #define IMAGE_REGISTRY_H diff --git a/src/libcalamaresui/utils/YamlUtils.cpp b/src/libcalamaresui/utils/YamlUtils.cpp index 1eb759963..4b1a8fd86 100644 --- a/src/libcalamaresui/utils/YamlUtils.cpp +++ b/src/libcalamaresui/utils/YamlUtils.cpp @@ -18,8 +18,11 @@ */ #include "YamlUtils.h" +#include "utils/Logger.h" + #include +#include #include void @@ -105,4 +108,42 @@ yamlMapToVariant( const YAML::Node& mapNode ) } +void +explainYamlException( const YAML::Exception& e, const QByteArray& yamlData, const char *label ) +{ + cDebug() << "WARNING: YAML error " << e.what() << "in" << label << '.'; + if ( ( e.mark.line >= 0 ) && ( e.mark.column >= 0 ) ) + { + // Try to show the line where it happened. + int linestart = 0; + for ( int linecount = 0; linecount < e.mark.line; ++linecount ) + { + linestart = yamlData.indexOf( '\n', linestart ); + // No more \ns found, weird + if ( linestart < 0 ) + break; + linestart += 1; // Skip that \n + } + int lineend = linestart; + if ( linestart >= 0 ) + { + lineend = yamlData.indexOf( '\n', linestart ); + if ( lineend < 0 ) + lineend = yamlData.length(); + } + + int rangestart = linestart; + int rangeend = lineend; + // Adjust range (linestart..lineend) so it's not too long + if ( ( linestart >= 0 ) && ( e.mark.column > 30 ) ) + rangestart += ( e.mark.column - 30 ); + if ( ( linestart >= 0 ) && ( rangeend - rangestart > 40 ) ) + rangeend = rangestart + 40; + + if ( linestart >= 0 ) + cDebug() << "WARNING: offending YAML data:" << yamlData.mid( rangestart, rangeend-rangestart ).constData(); + + } } + +} // namespace diff --git a/src/libcalamaresui/utils/YamlUtils.h b/src/libcalamaresui/utils/YamlUtils.h index a39934f51..1da36178c 100644 --- a/src/libcalamaresui/utils/YamlUtils.h +++ b/src/libcalamaresui/utils/YamlUtils.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,9 +23,12 @@ #include #include +class QByteArray; + namespace YAML { class Node; +class Exception; } void operator>>( const YAML::Node& node, QStringList& v ); @@ -37,6 +41,13 @@ QVariant yamlScalarToVariant( const YAML::Node& scalarNode ); QVariant yamlSequenceToVariant( const YAML::Node& sequenceNode ); QVariant yamlMapToVariant( const YAML::Node& mapNode ); +/** + * Given an exception from the YAML parser library, explain + * what is going on in terms of the data passed to the parser. + * Uses @p label when labeling the data source (e.g. "netinstall data") + */ +void explainYamlException( const YAML::Exception& e, const QByteArray& data, const char *label ); + } //ns #endif // YAMLUTILS_H diff --git a/src/libcalamaresui/utils/qjsonitem.cpp b/src/libcalamaresui/utils/qjsonitem.cpp index 35c9725dd..24494f0fd 100644 --- a/src/libcalamaresui/utils/qjsonitem.cpp +++ b/src/libcalamaresui/utils/qjsonitem.cpp @@ -1,27 +1,31 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * - * Originally from QJsonModel - * Copyright 2015, Sacha Schutz - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . + * SPDX-License-Identifier: GPL-3.0+ + * License-Filename: LICENSES/GPLv3+-QJsonModel */ +/*********************************************** + Copyright (C) 2014 Schutz Sacha + This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). + + QJsonModel is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QJsonModel is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QJsonModel. If not, see . + +**********************************************/ #include "qjsonitem.h" QJsonTreeItem::QJsonTreeItem(QJsonTreeItem *parent) - : mType( QJsonValue::Null ) { mParent = parent; @@ -104,8 +108,7 @@ QJsonTreeItem* QJsonTreeItem::load(const QJsonValue& value, QJsonTreeItem* paren { //Get all QJsonValue childs - const auto keys = value.toObject().keys(); - for (const QString &key : keys){ + foreach (QString key , value.toObject().keys()){ QJsonValue v = value.toObject().value(key); QJsonTreeItem * child = load(v,rootItem); child->setKey(key); @@ -120,8 +123,7 @@ QJsonTreeItem* QJsonTreeItem::load(const QJsonValue& value, QJsonTreeItem* paren { //Get all QJsonValue childs int index = 0; - const auto valueArray = value.toArray(); - for (const QJsonValue &v : valueArray) { + foreach (QJsonValue v , value.toArray()){ QJsonTreeItem * child = load(v,rootItem); child->setKey(QString::number(index)); diff --git a/src/libcalamaresui/utils/qjsonitem.h b/src/libcalamaresui/utils/qjsonitem.h index 58ea02d32..5a8b2134f 100644 --- a/src/libcalamaresui/utils/qjsonitem.h +++ b/src/libcalamaresui/utils/qjsonitem.h @@ -1,20 +1,7 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * - * Originally from QJsonModel - * Copyright 2015, Sacha Schutz - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . + * SPDX-License-Identifier: GPL-3.0+ + * License-Filename: LICENSES/GPLv3+-QJsonModel */ #ifndef JSONITEM_H @@ -27,7 +14,7 @@ class QJsonTreeItem { public: QJsonTreeItem(QJsonTreeItem * parent = 0); - virtual ~QJsonTreeItem(); + ~QJsonTreeItem(); void appendChild(QJsonTreeItem * item); QJsonTreeItem *child(int row); QJsonTreeItem *parent(); diff --git a/src/libcalamaresui/utils/qjsonmodel.cpp b/src/libcalamaresui/utils/qjsonmodel.cpp index 3d427d0fb..5ce0cd695 100644 --- a/src/libcalamaresui/utils/qjsonmodel.cpp +++ b/src/libcalamaresui/utils/qjsonmodel.cpp @@ -1,22 +1,27 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * - * Originally from QJsonModel - * Copyright 2015, Sacha Schutz - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . + * SPDX-License-Identifier: GPL-3.0+ + * License-Filename: LICENSES/GPLv3+-QJsonModel */ +/*********************************************** + Copyright (C) 2014 Schutz Sacha + This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). + + QJsonModel is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QJsonModel is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QJsonModel. If not, see . + +**********************************************/ #include "qjsonmodel.h" #include @@ -36,13 +41,6 @@ QJsonModel::QJsonModel(QObject *parent) : } - -QJsonModel::~QJsonModel() -{ - delete mRootItem; -} - - bool QJsonModel::load(const QString &fileName) { QFile file(fileName); @@ -68,7 +66,11 @@ bool QJsonModel::loadJson(const QByteArray &json) if (!mDocument.isNull()) { beginResetModel(); - mRootItem = QJsonTreeItem::load(QJsonValue(mDocument.object())); + if (mDocument.isArray()) { + mRootItem = QJsonTreeItem::load(QJsonValue(mDocument.array())); + } else { + mRootItem = QJsonTreeItem::load(QJsonValue(mDocument.object())); + } endResetModel(); return true; } diff --git a/src/libcalamaresui/utils/qjsonmodel.h b/src/libcalamaresui/utils/qjsonmodel.h index a76d807d8..6a2399287 100644 --- a/src/libcalamaresui/utils/qjsonmodel.h +++ b/src/libcalamaresui/utils/qjsonmodel.h @@ -1,23 +1,9 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * - * Originally from QJsonModel - * Copyright 2015, Sacha Schutz - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . + * SPDX-License-Identifier: GPL-3.0+ + * License-Filename: LICENSES/GPLv3+-QJsonModel */ - #ifndef QJSONMODEL_H #define QJSONMODEL_H @@ -31,7 +17,6 @@ class QJsonModel : public QAbstractItemModel Q_OBJECT public: explicit QJsonModel(QObject *parent = 0); - virtual ~QJsonModel(); bool load(const QString& fileName); bool load(QIODevice * device); bool loadJson(const QByteArray& json); diff --git a/src/libcalamaresui/viewpages/ViewStep.cpp b/src/libcalamaresui/viewpages/ViewStep.cpp index 6d5a5f746..96d80cb5f 100644 --- a/src/libcalamaresui/viewpages/ViewStep.cpp +++ b/src/libcalamaresui/viewpages/ViewStep.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -61,6 +62,8 @@ ViewStep::setModuleInstanceKey( const QString& instanceKey ) void ViewStep::setConfigurationMap( const QVariantMap& configurationMap ) -{} +{ + Q_UNUSED( configurationMap ); +} } diff --git a/src/libcalamaresui/viewpages/ViewStep.h b/src/libcalamaresui/viewpages/ViewStep.h index 27bab23c8..617d64fe1 100644 --- a/src/libcalamaresui/viewpages/ViewStep.h +++ b/src/libcalamaresui/viewpages/ViewStep.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -44,7 +45,7 @@ class UIDLLEXPORT ViewStep : public QObject Q_OBJECT public: explicit ViewStep( QObject* parent = nullptr ); - virtual ~ViewStep(); + virtual ~ViewStep() override; virtual QString prettyName() const = 0; @@ -93,7 +94,10 @@ public: virtual QList< job_ptr > jobs() const = 0; void setModuleInstanceKey( const QString& instanceKey ); - QString moduleInstanceKey() const { return m_instanceKey; } + QString moduleInstanceKey() const + { + return m_instanceKey; + } virtual void setConfigurationMap( const QVariantMap& configurationMap ); @@ -101,6 +105,12 @@ signals: void nextStatusChanged( bool status ); void done(); + /* Emitted when the viewstep thinks it needs more space than is currently + * available for display. @p enlarge is the requested additional space, + * e.g. 24px vertical. This request may be silently ignored. + */ + void enlarge( QSize enlarge ) const; + protected: QString m_instanceKey; }; diff --git a/src/libcalamaresui/widgets/ClickableLabel.h b/src/libcalamaresui/widgets/ClickableLabel.h index fc198b98b..42af076f5 100644 --- a/src/libcalamaresui/widgets/ClickableLabel.h +++ b/src/libcalamaresui/widgets/ClickableLabel.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,14 +29,14 @@ class ClickableLabel : public QLabel public: explicit ClickableLabel( QWidget* parent = nullptr, Qt::WindowFlags f = 0 ); explicit ClickableLabel( const QString& text, QWidget* parent = nullptr, Qt::WindowFlags f = 0 ); - virtual ~ClickableLabel(); + virtual ~ClickableLabel() override; signals: void clicked(); protected: - virtual void mousePressEvent( QMouseEvent* event ); - virtual void mouseReleaseEvent( QMouseEvent* event ); + virtual void mousePressEvent( QMouseEvent* event ) override; + virtual void mouseReleaseEvent( QMouseEvent* event ) override; private: QTime m_time; diff --git a/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp b/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp index 4920605bc..f07491bcd 100644 --- a/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp +++ b/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -42,6 +43,7 @@ FixedAspectRatioLabel::setPixmap( const QPixmap& pixmap ) void FixedAspectRatioLabel::resizeEvent( QResizeEvent* event ) { + Q_UNUSED( event ); QLabel::setPixmap( m_pixmap.scaled( contentsRect().size(), Qt::KeepAspectRatio, diff --git a/src/libcalamaresui/widgets/FixedAspectRatioLabel.h b/src/libcalamaresui/widgets/FixedAspectRatioLabel.h index 4483576f6..33cc4708f 100644 --- a/src/libcalamaresui/widgets/FixedAspectRatioLabel.h +++ b/src/libcalamaresui/widgets/FixedAspectRatioLabel.h @@ -28,7 +28,7 @@ class FixedAspectRatioLabel : public QLabel Q_OBJECT public: explicit FixedAspectRatioLabel( QWidget* parent = nullptr ); - virtual ~FixedAspectRatioLabel(); + virtual ~FixedAspectRatioLabel() override; public slots: void setPixmap( const QPixmap &pixmap ); diff --git a/src/libcalamaresui/widgets/QtWaitingSpinner.cpp b/src/libcalamaresui/widgets/QtWaitingSpinner.cpp deleted file mode 100644 index c298a61ec..000000000 --- a/src/libcalamaresui/widgets/QtWaitingSpinner.cpp +++ /dev/null @@ -1,176 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2014, Teo Mrnjavac - * - * Originally from https://github.com/snowwlex/QtWaitingSpinner - * Copyright 2012, Alex Turkin - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - -#include -#include - -#include - -#include "QtWaitingSpinner.h" - -QtWaitingSpinner::QtWaitingSpinner(int linesNumber, int length, int width, int radius, QWidget* parent) : QWidget(parent), - myLinesNumber(linesNumber), - myLength(length + width), - myWidth(width), - myRadius(radius), - myRoundness(70.0), - myColor(Qt::black), - mySpeed(1), - myTrail(70), - myOpacity(15) -{ - myCurrentCounter = 0; - myTimer = new QTimer(this); - connect(myTimer,SIGNAL(timeout()), this, SLOT(rotate())); - updateSize(); - updateTimer(); - this->hide(); -} - -void QtWaitingSpinner::paintEvent(QPaintEvent* /*ev*/) { - QPainter painter(this); - painter.fillRect(this->rect(), Qt::transparent); - painter.setRenderHint(QPainter::Antialiasing, true); - - if (myCurrentCounter >= myLinesNumber) { - myCurrentCounter = 0; - } - painter.setPen(Qt::NoPen); - for (int i = 0; i < myLinesNumber; ++i) { - painter.save(); - painter.translate(myRadius + myLength, myRadius + myLength); - qreal rotateAngle = (qreal)360 * qreal(i) / qreal(myLinesNumber); - painter.rotate(rotateAngle); - painter.translate(myRadius, 0); - int distance = lineDistance(i, myCurrentCounter, myLinesNumber); - QColor color = countTrailColor(distance, myLinesNumber, myTrail, myOpacity, myColor); - painter.setBrush(color); - //TODO improve the way rounded rect is painted - painter.drawRoundedRect(QRect(0, -myWidth/2, myLength, myWidth), myRoundness, myRoundness, Qt::RelativeSize); - painter.restore(); - } -} - -void QtWaitingSpinner::start() { - this->show(); - if (!myTimer->isActive()) { - myTimer->start(); - myCurrentCounter = 0; - } -} - -void QtWaitingSpinner::finish() { - this->hide(); - if (myTimer->isActive()) { - myTimer->stop(); - myCurrentCounter = 0; - } -} - -void QtWaitingSpinner::setLinesNumber(int linesNumber) { - myLinesNumber = linesNumber; - myCurrentCounter = 0; - updateTimer(); -} - -void QtWaitingSpinner::setLength(int length){ - myLength = length; - updateSize(); -} - -void QtWaitingSpinner::setWidth(int width) { - myWidth = width; - updateSize(); -} - -void QtWaitingSpinner::setRadius(int radius) { - myRadius = radius; - updateSize(); -} - -void QtWaitingSpinner::setRoundness(qreal roundness) { - myRoundness = std::max(0.0, std::min(100.0, roundness)); -} - -void QtWaitingSpinner::setColor(QColor color) { - myColor = color; -} - -void QtWaitingSpinner::setSpeed(qreal speed) { - mySpeed = speed; - updateTimer(); -} - -void QtWaitingSpinner::setTrail(int trail) { - myTrail = trail; -} - -void QtWaitingSpinner::setOpacity(int minOpacity) { - myOpacity = minOpacity; -} - -void QtWaitingSpinner::rotate() { - ++myCurrentCounter; - if (myCurrentCounter >= myLinesNumber) { - myCurrentCounter = 0; - } - update(); -} - -void QtWaitingSpinner::updateSize() { - int size = (myRadius + myLength) * 2; - setFixedSize(size, size); -} - -void QtWaitingSpinner::updateTimer() { - myTimer->setInterval(countTimeout(myLinesNumber, mySpeed)); -} - -int QtWaitingSpinner::countTimeout(int lines, qreal speed) { - return 1000 / (lines * speed); -} - -int QtWaitingSpinner::lineDistance(int from, int to, int lines) { - int result = to - from; - if (result < 0) { - result += lines; - } - return result; -} - -QColor QtWaitingSpinner::countTrailColor(int distance, int lines, int trail, int minOpacity, QColor color) { - if (distance == 0) { - return color; - } - const qreal minAlphaF = (qreal)minOpacity / 100; - int distanceThreshold = ceil( (lines - 1) * (qreal)trail / 100); - if (distance > distanceThreshold) { - color.setAlphaF(minAlphaF); - return color; - } - qreal alphaDiff = color.alphaF() - (qreal)minAlphaF; - qreal gradation = alphaDiff / (qreal)(distanceThreshold + 1); - qreal resultAlpha = color.alphaF() - gradation * distance; - resultAlpha = std::min(1.0, std::max(0.0, resultAlpha)); //if alpha is out of bound, force it to bounds - color.setAlphaF(resultAlpha); - return color; -} - diff --git a/src/libcalamaresui/widgets/QtWaitingSpinner.h b/src/libcalamaresui/widgets/QtWaitingSpinner.h deleted file mode 100644 index b01ebd1a8..000000000 --- a/src/libcalamaresui/widgets/QtWaitingSpinner.h +++ /dev/null @@ -1,82 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2014, Teo Mrnjavac - * - * Originally from https://github.com/snowwlex/QtWaitingSpinner - * Copyright 2012, Alex Turkin - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - -#ifndef QTWAITINGSPINNER_H -#define QTWAITINGSPINNER_H - -#include "UiDllMacro.h" - -#include - -#include -#include - -class UIDLLEXPORT QtWaitingSpinner : public QWidget { - Q_OBJECT - -public: - explicit QtWaitingSpinner(int linesNumber = 12, int length = 7, int width = 5, int radius = 10, QWidget* parent = 0); - -public Q_SLOTS: - void start(); - void finish(); - -public: - void setLinesNumber(int linesNumber); - void setLength(int length); - void setWidth(int width); - void setRadius(int radius); - void setRoundness(qreal roundness); - void setColor(QColor color); - void setSpeed(qreal speed); - void setTrail(int trail); - void setOpacity(int minOpacity); - -private Q_SLOTS: - void rotate(); - void updateSize(); - void updateTimer(); - -protected: - void paintEvent(QPaintEvent* ev); - -private: - static int countTimeout(int lines, qreal speed); - static int lineDistance(int from, int to, int lines); - static QColor countTrailColor(int distance, int lines, int trail, int minOpacity, QColor color); - -private: - int myLinesNumber; - int myLength; - int myWidth; - int myRadius; - qreal myRoundness; //0..100 - QColor myColor; - qreal mySpeed; // in rounds per second - int myTrail; - int myOpacity; - -private: - QTimer* myTimer; - int myCurrentCounter; -}; - -#endif // QTWAITINGSPINNER_H diff --git a/src/libcalamaresui/widgets/WaitingWidget.cpp b/src/libcalamaresui/widgets/WaitingWidget.cpp index 55471eff3..03c977691 100644 --- a/src/libcalamaresui/widgets/WaitingWidget.cpp +++ b/src/libcalamaresui/widgets/WaitingWidget.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,7 +20,7 @@ #include "WaitingWidget.h" #include "utils/CalamaresUtilsGui.h" -#include "QtWaitingSpinner.h" +#include "waitingspinnerwidget.h" #include #include @@ -34,7 +35,7 @@ WaitingWidget::WaitingWidget( const QString& text, QWidget* parent ) waitingLayout->addLayout( pbLayout ); pbLayout->addStretch(); - QtWaitingSpinner* spnr = new QtWaitingSpinner(); + WaitingSpinnerWidget* spnr = new WaitingSpinnerWidget(); pbLayout->addWidget( spnr ); pbLayout->addStretch(); @@ -43,9 +44,9 @@ WaitingWidget::WaitingWidget( const QString& text, QWidget* parent ) int spnrSize = m_waitingLabel->fontMetrics().height() * 4; spnr->setFixedSize( spnrSize, spnrSize ); - spnr->setRadius( spnrSize / 2 ); - spnr->setLength( spnrSize / 2 ); - spnr->setWidth( spnrSize / 8 ); + spnr->setInnerRadius( spnrSize / 2 ); + spnr->setLineLength( spnrSize / 2 ); + spnr->setLineWidth( spnrSize / 8 ); spnr->start(); m_waitingLabel->setAlignment( Qt::AlignCenter ); diff --git a/src/libcalamaresui/widgets/waitingspinnerwidget.cpp b/src/libcalamaresui/widgets/waitingspinnerwidget.cpp new file mode 100644 index 000000000..317d83807 --- /dev/null +++ b/src/libcalamaresui/widgets/waitingspinnerwidget.cpp @@ -0,0 +1,283 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: MIT + * License-Filename: LICENSES/MIT-QtWaitingSpinner + */ + +/* Original Work Copyright (c) 2012-2014 Alexander Turkin + Modified 2014 by William Hallatt + Modified 2015 by Jacob Dawid + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +// Own includes +#include "waitingspinnerwidget.h" + +// Standard includes +#include +#include + +// Qt includes +#include +#include + +WaitingSpinnerWidget::WaitingSpinnerWidget(QWidget *parent, + bool centerOnParent, + bool disableParentWhenSpinning) + : QWidget(parent), + _centerOnParent(centerOnParent), + _disableParentWhenSpinning(disableParentWhenSpinning) { + initialize(); +} + +WaitingSpinnerWidget::WaitingSpinnerWidget(Qt::WindowModality modality, + QWidget *parent, + bool centerOnParent, + bool disableParentWhenSpinning) + : QWidget(parent, Qt::Dialog | Qt::FramelessWindowHint), + _centerOnParent(centerOnParent), + _disableParentWhenSpinning(disableParentWhenSpinning){ + initialize(); + + // We need to set the window modality AFTER we've hidden the + // widget for the first time since changing this property while + // the widget is visible has no effect. + setWindowModality(modality); + setAttribute(Qt::WA_TranslucentBackground); +} + +void WaitingSpinnerWidget::initialize() { + _color = Qt::black; + _roundness = 100.0; + _minimumTrailOpacity = 3.14159265358979323846; + _trailFadePercentage = 80.0; + _revolutionsPerSecond = 1.57079632679489661923; + _numberOfLines = 20; + _lineLength = 10; + _lineWidth = 2; + _innerRadius = 10; + _currentCounter = 0; + _isSpinning = false; + + _timer = new QTimer(this); + connect(_timer, SIGNAL(timeout()), this, SLOT(rotate())); + updateSize(); + updateTimer(); + hide(); +} + +void WaitingSpinnerWidget::paintEvent(QPaintEvent *) { + updatePosition(); + QPainter painter(this); + painter.fillRect(this->rect(), Qt::transparent); + painter.setRenderHint(QPainter::Antialiasing, true); + + if (_currentCounter >= _numberOfLines) { + _currentCounter = 0; + } + + painter.setPen(Qt::NoPen); + for (int i = 0; i < _numberOfLines; ++i) { + painter.save(); + painter.translate(_innerRadius + _lineLength, + _innerRadius + _lineLength); + qreal rotateAngle = + static_cast(360 * i) / static_cast(_numberOfLines); + painter.rotate(rotateAngle); + painter.translate(_innerRadius, 0); + int distance = + lineCountDistanceFromPrimary(i, _currentCounter, _numberOfLines); + QColor color = + currentLineColor(distance, _numberOfLines, _trailFadePercentage, + _minimumTrailOpacity, _color); + painter.setBrush(color); + // TODO improve the way rounded rect is painted + painter.drawRoundedRect( + QRect(0, -_lineWidth / 2, _lineLength, _lineWidth), _roundness, + _roundness, Qt::RelativeSize); + painter.restore(); + } +} + +void WaitingSpinnerWidget::start() { + updatePosition(); + _isSpinning = true; + show(); + + if(parentWidget() && _disableParentWhenSpinning) { + parentWidget()->setEnabled(false); + } + + if (!_timer->isActive()) { + _timer->start(); + _currentCounter = 0; + } +} + +void WaitingSpinnerWidget::stop() { + _isSpinning = false; + hide(); + + if(parentWidget() && _disableParentWhenSpinning) { + parentWidget()->setEnabled(true); + } + + if (_timer->isActive()) { + _timer->stop(); + _currentCounter = 0; + } +} + +void WaitingSpinnerWidget::setNumberOfLines(int lines) { + _numberOfLines = lines; + _currentCounter = 0; + updateTimer(); +} + +void WaitingSpinnerWidget::setLineLength(int length) { + _lineLength = length; + updateSize(); +} + +void WaitingSpinnerWidget::setLineWidth(int width) { + _lineWidth = width; + updateSize(); +} + +void WaitingSpinnerWidget::setInnerRadius(int radius) { + _innerRadius = radius; + updateSize(); +} + +QColor WaitingSpinnerWidget::color() { + return _color; +} + +qreal WaitingSpinnerWidget::roundness() { + return _roundness; +} + +qreal WaitingSpinnerWidget::minimumTrailOpacity() { + return _minimumTrailOpacity; +} + +qreal WaitingSpinnerWidget::trailFadePercentage() { + return _trailFadePercentage; +} + +qreal WaitingSpinnerWidget::revolutionsPersSecond() { + return _revolutionsPerSecond; +} + +int WaitingSpinnerWidget::numberOfLines() { + return _numberOfLines; +} + +int WaitingSpinnerWidget::lineLength() { + return _lineLength; +} + +int WaitingSpinnerWidget::lineWidth() { + return _lineWidth; +} + +int WaitingSpinnerWidget::innerRadius() { + return _innerRadius; +} + +bool WaitingSpinnerWidget::isSpinning() const { + return _isSpinning; +} + +void WaitingSpinnerWidget::setRoundness(qreal roundness) { + _roundness = std::max(0.0, std::min(100.0, roundness)); +} + +void WaitingSpinnerWidget::setColor(QColor color) { + _color = color; +} + +void WaitingSpinnerWidget::setRevolutionsPerSecond(qreal revolutionsPerSecond) { + _revolutionsPerSecond = revolutionsPerSecond; + updateTimer(); +} + +void WaitingSpinnerWidget::setTrailFadePercentage(qreal trail) { + _trailFadePercentage = trail; +} + +void WaitingSpinnerWidget::setMinimumTrailOpacity(qreal minimumTrailOpacity) { + _minimumTrailOpacity = minimumTrailOpacity; +} + +void WaitingSpinnerWidget::rotate() { + ++_currentCounter; + if (_currentCounter >= _numberOfLines) { + _currentCounter = 0; + } + update(); +} + +void WaitingSpinnerWidget::updateSize() { + int size = (_innerRadius + _lineLength) * 2; + setFixedSize(size, size); +} + +void WaitingSpinnerWidget::updateTimer() { + _timer->setInterval(1000 / (_numberOfLines * _revolutionsPerSecond)); +} + +void WaitingSpinnerWidget::updatePosition() { + if (parentWidget() && _centerOnParent) { + move(parentWidget()->width() / 2 - width() / 2, + parentWidget()->height() / 2 - height() / 2); + } +} + +int WaitingSpinnerWidget::lineCountDistanceFromPrimary(int current, int primary, + int totalNrOfLines) { + int distance = primary - current; + if (distance < 0) { + distance += totalNrOfLines; + } + return distance; +} + +QColor WaitingSpinnerWidget::currentLineColor(int countDistance, int totalNrOfLines, + qreal trailFadePerc, qreal minOpacity, + QColor color) { + if (countDistance == 0) { + return color; + } + const qreal minAlphaF = minOpacity / 100.0; + int distanceThreshold = + static_cast(ceil((totalNrOfLines - 1) * trailFadePerc / 100.0)); + if (countDistance > distanceThreshold) { + color.setAlphaF(minAlphaF); + } else { + qreal alphaDiff = color.alphaF() - minAlphaF; + qreal gradient = alphaDiff / static_cast(distanceThreshold + 1); + qreal resultAlpha = color.alphaF() - gradient * countDistance; + + // If alpha is out of bounds, clip it. + resultAlpha = std::min(1.0, std::max(0.0, resultAlpha)); + color.setAlphaF(resultAlpha); + } + return color; +} diff --git a/src/libcalamaresui/widgets/waitingspinnerwidget.h b/src/libcalamaresui/widgets/waitingspinnerwidget.h new file mode 100644 index 000000000..0ed8e69d3 --- /dev/null +++ b/src/libcalamaresui/widgets/waitingspinnerwidget.h @@ -0,0 +1,120 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: MIT + * License-Filename: LICENSES/MIT-QtWaitingSpinner + */ + +/* Original Work Copyright (c) 2012-2014 Alexander Turkin + Modified 2014 by William Hallatt + Modified 2015 by Jacob Dawid +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#pragma once + +// Qt includes +#include +#include +#include + +class WaitingSpinnerWidget : public QWidget { + Q_OBJECT +public: + /*! Constructor for "standard" widget behaviour - use this + * constructor if you wish to, e.g. embed your widget in another. */ + WaitingSpinnerWidget(QWidget *parent = 0, + bool centerOnParent = true, + bool disableParentWhenSpinning = true); + + /*! Constructor - use this constructor to automatically create a modal + * ("blocking") spinner on top of the calling widget/window. If a valid + * parent widget is provided, "centreOnParent" will ensure that + * QtWaitingSpinner automatically centres itself on it, if not, + * "centreOnParent" is ignored. */ + WaitingSpinnerWidget(Qt::WindowModality modality, + QWidget *parent = 0, + bool centerOnParent = true, + bool disableParentWhenSpinning = true); + +public slots: + void start(); + void stop(); + +public: + void setColor(QColor color); + void setRoundness(qreal roundness); + void setMinimumTrailOpacity(qreal minimumTrailOpacity); + void setTrailFadePercentage(qreal trail); + void setRevolutionsPerSecond(qreal revolutionsPerSecond); + void setNumberOfLines(int lines); + void setLineLength(int length); + void setLineWidth(int width); + void setInnerRadius(int radius); + void setText(QString text); + + QColor color(); + qreal roundness(); + qreal minimumTrailOpacity(); + qreal trailFadePercentage(); + qreal revolutionsPersSecond(); + int numberOfLines(); + int lineLength(); + int lineWidth(); + int innerRadius(); + + bool isSpinning() const; + +private slots: + void rotate(); + +protected: + void paintEvent(QPaintEvent *paintEvent); + +private: + static int lineCountDistanceFromPrimary(int current, int primary, + int totalNrOfLines); + static QColor currentLineColor(int distance, int totalNrOfLines, + qreal trailFadePerc, qreal minOpacity, + QColor color); + + void initialize(); + void updateSize(); + void updateTimer(); + void updatePosition(); + +private: + QColor _color; + qreal _roundness; // 0..100 + qreal _minimumTrailOpacity; + qreal _trailFadePercentage; + qreal _revolutionsPerSecond; + int _numberOfLines; + int _lineLength; + int _lineWidth; + int _innerRadius; + +private: + WaitingSpinnerWidget(const WaitingSpinnerWidget&); + WaitingSpinnerWidget& operator=(const WaitingSpinnerWidget&); + + QTimer *_timer; + bool _centerOnParent; + bool _disableParentWhenSpinning; + int _currentCounter; + bool _isSpinning; +}; diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py index fd5990490..c2cdc1108 100644 --- a/src/modules/bootloader/main.py +++ b/src/modules/bootloader/main.py @@ -11,6 +11,8 @@ # Copyright 2015, Philip Mueller # Copyright 2016-2017, Teo Mrnjavac # Copyright 2017, Alf Gaida +# Copyright 2017, Adriaan de Groot +# Copyright 2017, Gabriel Craciunescu # # Calamares is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -104,16 +106,22 @@ def create_systemd_boot_conf(uuid, conf_path, kernel_line): cryptdevice_params = [] + # Take over swap settings: + # - unencrypted swap partition sets swap_uuid + # - encrypted root sets cryptdevice_params for partition in partitions: - if partition["fs"] == "linuxswap": + has_luks = "luksMapperName" in partition + if partition["fs"] == "linuxswap" and not has_luks: swap_uuid = partition["uuid"] - if partition["mountPoint"] == "/" and "luksMapperName" in partition: + if partition["mountPoint"] == "/" and has_luks: cryptdevice_params = ["cryptdevice=UUID=" + partition["luksUuid"] + ":" + partition["luksMapperName"], "root=/dev/mapper/" + + partition["luksMapperName"], + "resume=/dev/mapper/" + partition["luksMapperName"]] if cryptdevice_params: diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index fbed64def..3282982d7 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -8,6 +8,7 @@ # Copyright 2014, Kevin Kofler # Copyright 2017, Alf Gaida # Copyright 2017, Bernhard Landauer +# Copyright 2017, Adriaan de Groot # # Calamares is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -480,13 +481,10 @@ def run(): ) if (os.path.exists(greeter_path)): - greeter_configured = False - # configure first found lightdm-greeter - for entry in os.scandir(greeter_path): - if entry.name.endswith('.desktop') \ - and not greeter_configured: - greeter = entry.name.split('.')[0] + for entry in os.listdir(greeter_path): + if entry.endswith('.desktop'): + greeter = entry.split('.')[0] libcalamares.utils.debug( "found greeter {!s}".format(greeter) ) @@ -500,9 +498,8 @@ def run(): libcalamares.utils.debug( "{!s} configured as greeter.".format(greeter) ) - greeter_configured = True - - if not greeter_configured: + break + else: return ("No lightdm greeter installed.") else: libcalamares.utils.debug("lightdm selected but not installed") diff --git a/src/modules/dracutlukscfg/DracutLuksCfgJob.h b/src/modules/dracutlukscfg/DracutLuksCfgJob.h index ce981850c..2d438fa0b 100644 --- a/src/modules/dracutlukscfg/DracutLuksCfgJob.h +++ b/src/modules/dracutlukscfg/DracutLuksCfgJob.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2016, Kevin Kofler + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,7 +35,7 @@ class PLUGINDLLEXPORT DracutLuksCfgJob : public Calamares::CppJob public: explicit DracutLuksCfgJob( QObject* parent = nullptr ); - virtual ~DracutLuksCfgJob(); + virtual ~DracutLuksCfgJob() override; QString prettyName() const override; diff --git a/src/modules/dummycpp/DummyCppJob.h b/src/modules/dummycpp/DummyCppJob.h index 2b2a51a75..fecc2699b 100644 --- a/src/modules/dummycpp/DummyCppJob.h +++ b/src/modules/dummycpp/DummyCppJob.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2016, Kevin Kofler + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,7 +35,7 @@ class PLUGINDLLEXPORT DummyCppJob : public Calamares::CppJob public: explicit DummyCppJob( QObject* parent = nullptr ); - virtual ~DummyCppJob(); + virtual ~DummyCppJob() override; QString prettyName() const override; diff --git a/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.mo index e99aa6d4a..8a59291af 100644 Binary files a/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.po index b4d344452..311e75830 100644 --- a/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" diff --git a/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.mo index 709ab125f..a195bf917 100644 Binary files a/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.po index e698691fe..91c49166c 100644 --- a/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# enolp , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: enolp , 2017\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ast\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.mo index 634bd45a7..470525ae3 100644 Binary files a/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po index aabd15e6e..9d8734987 100644 --- a/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.mo index 6f974e708..c8a3196f8 100644 Binary files a/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.po index 0f9ccdb32..c56b01736 100644 --- a/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Davidmp , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Davidmp , 2016\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.mo index 9831e9722..ef66ad1d6 100644 Binary files a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po index 53dd451dc..40d7f9f95 100644 --- a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# pavelrz , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: pavelrz , 2016\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" diff --git a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.mo index 3b5d593f4..ad17f4d68 100644 Binary files a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po index 5908dbbbd..7d2d647bd 100644 --- a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# scootergrisen , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: scootergrisen , 2017\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.mo index a22587fba..28d4bf048 100644 Binary files a/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po index 92e24b4df..c361beac9 100644 --- a/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Christian Spaan , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Christian Spaan , 2017\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/dummypythonqt.pot b/src/modules/dummypythonqt/lang/dummypythonqt.pot index 43240bcc0..14e65bd02 100644 --- a/src/modules/dummypythonqt/lang/dummypythonqt.pot +++ b/src/modules/dummypythonqt/lang/dummypythonqt.pot @@ -1,18 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" +"Language: \n" #: src/modules/dummypythonqt/main.py:84 msgid "Click me!" diff --git a/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.mo index bbfb33004..c7d45e879 100644 Binary files a/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po index 3b305234e..7b55d6c65 100644 --- a/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.mo index 79b2366b4..b88e6d8f9 100644 Binary files a/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po index 3196b7931..241b0063b 100644 --- a/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: en_GB\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.mo index 7cd3096d9..f441bc205 100644 Binary files a/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po index ae836779a..bdca039dd 100644 --- a/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# strel , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: strel , 2016\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.mo index 6a5cf2cc1..35a601558 100644 Binary files a/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po index 26c9211bd..5aa724d08 100644 --- a/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Spain) (https://www.transifex.com/calamares/teams/20061/es_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.mo index 7f66467e8..73c58bb4a 100644 Binary files a/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po index 74814fecc..22412c347 100644 --- a/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_MX\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.mo index f52688188..f3dd878be 100644 Binary files a/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po index a36b7368b..5c08c2df3 100644 --- a/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_PR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.mo index ecb678aba..86e51fbf4 100644 Binary files a/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po index 0d7f46a9a..50ed84e86 100644 --- a/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.mo index 14aebbea7..2b85ce42c 100644 Binary files a/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po index 2786536bd..d5ec7a719 100644 --- a/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.mo index dc17915b0..be5db74c2 100644 Binary files a/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po index c8a2e74ed..9561d2d7f 100644 --- a/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.mo index 9e0d83f6b..65215e4b3 100644 Binary files a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po index 918ae8ffb..34d69c2f6 100644 --- a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fi_FI\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.mo index 0d4650d33..2c39ac029 100644 Binary files a/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po index 58bbea615..7efacecd5 100644 --- a/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" diff --git a/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.mo index f669949fe..44c786167 100644 Binary files a/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po index 93228b874..4a4a91099 100644 --- a/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fr_CH\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" diff --git a/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.mo index 3548ce763..b221e3812 100644 Binary files a/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po index 38bbe9ff0..27a6260ca 100644 --- a/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.mo index 191607183..e8861abe2 100644 Binary files a/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po index 6ea0f5eae..114f3cbe8 100644 --- a/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: gu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.mo index 82d4f3ed4..98b589db3 100644 Binary files a/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po index 137c23215..f5e9b6389 100644 --- a/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Eli Shleifer , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Eli Shleifer , 2017\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.mo index 4a53bc6b4..198aba348 100644 Binary files a/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po index aac539d61..9ea1aecd6 100644 --- a/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.mo index eeb08c015..5368309b9 100644 Binary files a/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po index 8f55909e6..1353a19b3 100644 --- a/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Lovro Kudelić , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Lovro Kudelić , 2016\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hr\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" diff --git a/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.mo index 6eb9ade95..32f7ed24b 100644 Binary files a/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po index fc1490bcb..19d609feb 100644 --- a/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Lajos Pasztor , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Lajos Pasztor , 2016\n" +"Last-Translator: miku84 , 2017\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -28,7 +28,7 @@ msgstr "Egy új QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Hamis PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" diff --git a/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.mo index ee4f15b52..4c66c3fee 100644 Binary files a/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.po index 3ab2a255a..6e391eaf8 100644 --- a/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Kukuh Syafaat , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Kukuh Syafaat , 2016\n" +"Last-Translator: Wantoyo , 2016\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -24,11 +24,11 @@ msgstr "Klik saya!" #: src/modules/dummypythonqt/main.py:94 msgid "A new QLabel." -msgstr "QLabel baru." +msgstr "Sebuah QLabel baru." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Dummy PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" diff --git a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.mo index c638cbd28..d30364d9c 100644 Binary files a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po index da3c397ea..5b87a423f 100644 --- a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Kristján Magnússon , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kristján Magnússon , 2017\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" @@ -28,7 +28,7 @@ msgstr "Nýtt QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Dummy PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" diff --git a/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.mo index 8549b91ec..73b11b8a0 100644 Binary files a/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po index c545a6282..58908a127 100644 --- a/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Teo Mrnjavac , 2016 -# Saverio , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Saverio , 2016\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: it_IT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.mo index afaac186a..eb678c581 100644 Binary files a/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po index cae3d2722..241b9392d 100644 --- a/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Takefumi Nagata , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Takefumi Nagata , 2016\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.mo index 4d7e1ade2..2b0afba0e 100644 Binary files a/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po index e2ed766b0..6a6cae92a 100644 --- a/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: kk\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.mo index d9e3440ea..1a06a5e25 100644 Binary files a/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po index 1147fe85f..23b688386 100644 --- a/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: lo\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.mo index f2cb98bc3..1ca9f2801 100644 Binary files a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po index 725cdeffc..97f6e6b33 100644 --- a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Moo , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Moo , 2016\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: lt\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" diff --git a/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.mo index afb5fa103..ada8d963f 100644 Binary files a/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po index 893c5989f..27d9d9e26 100644 --- a/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: mr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.mo index 195b054a8..4a10eac44 100644 Binary files a/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po index 93c4631d6..0807d247f 100644 --- a/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.mo index be19ac81b..990bbe8a4 100644 Binary files a/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po index e2d139668..a6862fbb6 100644 --- a/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# De Zeeappel , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: De Zeeappel , 2016\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -28,7 +28,7 @@ msgstr "Een nieuw QLabel" #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Dummy PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" diff --git a/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.mo index b93bc6b4c..63f2677da 100644 Binary files a/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.po index 04a11cb27..0f67ae374 100644 --- a/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# m4sk1n , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: m4sk1n , 2016\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" diff --git a/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.mo index f690c1a44..fc4620205 100644 Binary files a/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.po index 0ddcf5ab3..2b06f9e75 100644 --- a/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Polish (Poland) (https://www.transifex.com/calamares/teams/20061/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pl_PL\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" diff --git a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo index 2ba03c124..657f514f9 100644 Binary files a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po index be3014576..da698f595 100644 --- a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Rodrigo de Almeida Sottomaior Macedo , 2017 -# Guilherme M.S. , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Guilherme M.S. , 2017\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" diff --git a/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.mo index a437e8c58..4df6a2005 100644 Binary files a/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po index 1e05c69f3..3766e35b8 100644 --- a/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Ricardo Simões , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ricardo Simões , 2016\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.mo index 13750b167..f881f640c 100644 Binary files a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po index 53d9f52c0..0e927e99d 100644 --- a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Baadur Jobava , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Baadur Jobava , 2016\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" diff --git a/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.mo index 948000f6a..8e2ebe16d 100644 Binary files a/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po index 39e277563..7a2155ccd 100644 --- a/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Вадим Сабынич , 2017 -# Simon Schwartz , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Simon Schwartz , 2017\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" diff --git a/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.mo index cb3c99c40..4cb8879b3 100644 Binary files a/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po index 75be8bb1f..7f45b4605 100644 --- a/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Dušan Kazik , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Dušan Kazik , 2016\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" diff --git a/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.mo index c7c255e21..615d4b0b7 100644 Binary files a/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.po index c6dbbed53..ebebd598b 100644 --- a/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" diff --git a/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.mo index 2aa5a1061..311cb4d45 100644 Binary files a/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po index 426f853e7..906d2e3c6 100644 --- a/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Slobodan Simić , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Slobodan Simić , 2017\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" diff --git a/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.mo index b3f1e8936..ec7faf311 100644 Binary files a/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po index dbbfbac9b..dd00e7fbf 100644 --- a/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sr@latin\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" diff --git a/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.mo index 37c090f63..e27097ca7 100644 Binary files a/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po index d1d146940..9839aad35 100644 --- a/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.mo index 3c787d074..99aa63beb 100644 Binary files a/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po index f6f125dcd..dd14c81a8 100644 --- a/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: th\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.mo index ce991fc57..effc6f65e 100644 Binary files a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po index 1a072d2eb..ab62ec545 100644 --- a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Demiray Muhterem , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Demiray Muhterem , 2016\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -32,11 +32,11 @@ msgstr "Sahte PythonQt görünümü" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" -msgstr "Kukla PythonQt Çalışması" +msgstr "Sahte PythonQt işleri" #: src/modules/dummypythonqt/main.py:186 msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "Kukla PythonQt Çalışması. Kukla çalışması şöyle der: {}" +msgstr "Kukla PythonQt işleri. Sahte işleri şöyle diyor: {}" #: src/modules/dummypythonqt/main.py:190 msgid "A status message for Dummy PythonQt Job." diff --git a/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.mo index 957835e03..d17a14087 100644 Binary files a/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.po index 7bbaa5d30..5bdc57b31 100644 --- a/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" diff --git a/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.mo index 430ab38ea..176215bcb 100644 Binary files a/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po index d30f65c7c..5a9fc39de 100644 --- a/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ur\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.mo index 32451102b..037e2fa2a 100644 Binary files a/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po index 6d850fc0a..f1b55bc4c 100644 --- a/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: uz\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.mo index c3a070b80..0dac94ca0 100644 Binary files a/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po index c282f245e..14bf4463a 100644 --- a/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Mingcong Bai , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Mingcong Bai , 2017\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.mo index 5ac8ea5c1..7cda100f9 100644 Binary files a/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po index 81ff73d38..0699d412f 100644 --- a/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Jeff Huang , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Jeff Huang , 2016\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/finished/FinishedPage.cpp b/src/modules/finished/FinishedPage.cpp index bfaad165d..43e9f5329 100644 --- a/src/modules/finished/FinishedPage.cpp +++ b/src/modules/finished/FinishedPage.cpp @@ -50,11 +50,11 @@ FinishedPage::FinishedPage( QWidget* parent ) CALAMARES_RETRANSLATE( ui->retranslateUi( this ); ui->mainText->setText( tr( "

All done.


" - "%1 has been installed on your computer.
" - "You may now restart into your new system, or continue " - "using the %2 Live environment." ) - .arg( *Calamares::Branding::VersionedName ) - .arg( *Calamares::Branding::ProductName ) ); + "%1 has been installed on your computer.
" + "You may now restart into your new system, or continue " + "using the %2 Live environment." ) + .arg( *Calamares::Branding::VersionedName ) + .arg( *Calamares::Branding::ProductName ) ); ) } @@ -90,7 +90,7 @@ FinishedPage::setUpRestart() this, [this] { if ( ui->restartCheckBox->isVisible() && - ui->restartCheckBox->isChecked() ) + ui->restartCheckBox->isChecked() ) QProcess::execute( "/bin/sh", { "-c", m_restartNowCommand } ); } ); } @@ -108,9 +108,9 @@ FinishedPage::onInstallationFailed( const QString& message, const QString& detai { Q_UNUSED( details ); ui->mainText->setText( tr( "

Installation Failed


" - "%1 has not been installed on your computer.
" - "The error message was: %2." ) - .arg( *Calamares::Branding::VersionedName ) - .arg( message ) ); + "%1 has not been installed on your computer.
" + "The error message was: %2." ) + .arg( *Calamares::Branding::VersionedName ) + .arg( message ) ); setRestartNowEnabled( false ); } diff --git a/src/modules/finished/FinishedViewStep.cpp b/src/modules/finished/FinishedViewStep.cpp index 8017a739c..d3beacb82 100644 --- a/src/modules/finished/FinishedViewStep.cpp +++ b/src/modules/finished/FinishedViewStep.cpp @@ -34,9 +34,8 @@ FinishedViewStep::FinishedViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( new FinishedPage() ) , installFailed( false ) + , m_notifyOnFinished( false ) { - cDebug() << "FinishedViewStep()"; - auto jq = Calamares::JobQueue::instance(); connect( jq, &Calamares::JobQueue::failed, m_widget, &FinishedPage::onInstallationFailed ); @@ -64,7 +63,6 @@ FinishedViewStep::prettyName() const QWidget* FinishedViewStep::widget() { - cDebug() << "FinishedViewStep::widget()"; return m_widget; } @@ -113,7 +111,7 @@ FinishedViewStep::sendNotification() { // If the installation failed, don't send notification popup; // there's a (modal) dialog popped up with the failure notice. - if (installFailed) + if ( installFailed ) return; QDBusInterface notify( "org.freedesktop.Notifications", "/org/freedesktop/Notifications", "org.freedesktop.Notifications" ); @@ -140,25 +138,24 @@ FinishedViewStep::sendNotification() void FinishedViewStep::onActivate() { - cDebug() << "FinishedViewStep::onActivate()"; m_widget->setUpRestart(); - sendNotification(); + if ( m_notifyOnFinished ) + sendNotification(); } QList< Calamares::job_ptr > FinishedViewStep::jobs() const { - cDebug() << "FinishedViewStep::jobs"; return QList< Calamares::job_ptr >(); } void FinishedViewStep::onInstallationFailed( const QString& message, const QString& details ) { - Q_UNUSED(message); - Q_UNUSED(details); + Q_UNUSED( message ); + Q_UNUSED( details ); installFailed = true; } @@ -184,6 +181,9 @@ FinishedViewStep::setConfigurationMap( const QVariantMap& configurationMap ) m_widget->setRestartNowCommand( "systemctl -i reboot" ); } } + if ( configurationMap.contains( "notifyOnFinished" ) && + configurationMap.value( "notifyOnFinished" ).type() == QVariant::Bool ) + m_notifyOnFinished = configurationMap.value( "notifyOnFinished" ).toBool(); } CALAMARES_PLUGIN_FACTORY_DEFINITION( FinishedViewStepFactory, registerPlugin(); ) diff --git a/src/modules/finished/FinishedViewStep.h b/src/modules/finished/FinishedViewStep.h index cb3656046..f13da9fb8 100644 --- a/src/modules/finished/FinishedViewStep.h +++ b/src/modules/finished/FinishedViewStep.h @@ -34,7 +34,7 @@ class PLUGINDLLEXPORT FinishedViewStep : public Calamares::ViewStep public: explicit FinishedViewStep( QObject* parent = nullptr ); - virtual ~FinishedViewStep(); + virtual ~FinishedViewStep() override; QString prettyName() const override; @@ -68,6 +68,7 @@ private: void sendNotification(); bool installFailed; + bool m_notifyOnFinished; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( FinishedViewStepFactory ) diff --git a/src/modules/finished/finished.conf b/src/modules/finished/finished.conf index f93acb587..6bd8bb2d6 100644 --- a/src/modules/finished/finished.conf +++ b/src/modules/finished/finished.conf @@ -1,4 +1,17 @@ +Configuration for the "finished" page, which is usually shown only at +the end of the installation (successful or not). --- +# The finished page can hold a "restart system now" checkbox. +# If this is false, no checkbox is show and the system is not restarted +# when Calamares exits. restartNowEnabled: true +# Initial state of the checkbox "restart now". restartNowChecked: false +# If the checkbox is shown, and the checkbox is checked, then when +# Calamares exits from the finished-page it will run this command. restartNowCommand: "systemctl -i reboot" + +# When the last page is (successfully) reached, send a DBus notification +# to the desktop that the installation is done. This works only if the +# user as whom Calamares is run, can reach the regular desktop session bus. +notifyOnFinished: false diff --git a/src/modules/fstab/main.py b/src/modules/fstab/main.py index 9c116b8a0..1f46fec99 100644 --- a/src/modules/fstab/main.py +++ b/src/modules/fstab/main.py @@ -225,6 +225,7 @@ class FstabGenerator(object): def generate_fstab_line_info(self, partition): """ Generates information for each fstab entry. """ filesystem = partition["fs"].lower() + has_luks = "luksMapperName" in partition mount_point = partition["mountPoint"] disk_name = disk_name_for_partition(partition) is_ssd = disk_name in self.ssd_disks @@ -232,6 +233,8 @@ class FstabGenerator(object): if not mount_point and not filesystem == "swap": return None + if not mount_point: + mount_point = "swap" options = self.mount_options.get(filesystem, self.mount_options["default"]) @@ -252,18 +255,15 @@ class FstabGenerator(object): self.root_is_ssd = is_ssd if filesystem == "btrfs" and "subvol" in partition: - return dict( - device="UUID=" + partition["uuid"], - mount_point=mount_point, - fs=filesystem, - options=",".join( - ["subvol={}".format(partition["subvol"]), options] - ), - check=check, - ) + options="subvol={},".format(partition["subvol"]) + options - return dict(device="UUID=" + partition["uuid"], - mount_point=mount_point or "swap", + if has_luks: + device="/dev/mapper/" + partition["luksMapperName"] + else: + device="UUID=" + partition["uuid"] + + return dict(device=device, + mount_point=mount_point, fs=filesystem, options=options, check=check, diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 59497cf03..3ef68e46e 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -6,6 +6,8 @@ # Copyright 2014-2015, Philip Müller # Copyright 2015-2017, Teo Mrnjavac # Copyright 2017, Alf Gaida +# Copyright 2017, Adriaan de Groot +# Copyright 2017, Gabriel Craciunescu # # Calamares is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,6 +31,8 @@ def modify_grub_default(partitions, root_mount_point, distributor): """ Configures '/etc/default/grub' for hibernation and plymouth. + @see bootloader/main.py, for similar handling of kernel parameters + :param partitions: :param root_mount_point: :param distributor: @@ -40,9 +44,12 @@ def modify_grub_default(partitions, root_mount_point, distributor): dracut_bin = libcalamares.utils.target_env_call( ["sh", "-c", "which dracut"] ) + have_dracut = dracut_bin == 0 # Shell exit value 0 means success + use_splash = "" swap_uuid = "" swap_outer_uuid = "" + swap_outer_mappername = None if libcalamares.globalstorage.contains("hasPlymouth"): if libcalamares.globalstorage.value("hasPlymouth"): @@ -50,32 +57,37 @@ def modify_grub_default(partitions, root_mount_point, distributor): cryptdevice_params = [] - if dracut_bin == 0: + if have_dracut: for partition in partitions: - if partition["fs"] == "linuxswap": + has_luks = "luksMapperName" in partition + if partition["fs"] == "linuxswap" and not has_luks: swap_uuid = partition["uuid"] - if (partition["fs"] == "linuxswap" - and "luksMapperName" in partition): + if (partition["fs"] == "linuxswap" and has_luks): swap_outer_uuid = partition["luksUuid"] + swap_outer_mappername = partition["luksMapperName"] - if (partition["mountPoint"] == "/" - and "luksMapperName" in partition): + if (partition["mountPoint"] == "/" and has_luks): cryptdevice_params = [ "rd.luks.uuid={!s}".format(partition["luksUuid"]) ] else: for partition in partitions: - if partition["fs"] == "linuxswap": + has_luks = "luksMapperName" in partition + if partition["fs"] == "linuxswap" and not has_luks: swap_uuid = partition["uuid"] - if (partition["mountPoint"] == "/" - and "luksMapperName" in partition): + if (partition["mountPoint"] == "/" and has_luks): cryptdevice_params = [ "cryptdevice=UUID={!s}:{!s}".format( partition["luksUuid"], partition["luksMapperName"] ), - "root=/dev/mapper/{!s}".format(partition["luksMapperName"]) + "root=/dev/mapper/{!s}".format( + partition["luksMapperName"] + ), + "resume=/dev/mapper/{!s}".format( + partition["luksMapperName"] + ) ] kernel_params = ["quiet"] @@ -89,8 +101,11 @@ def modify_grub_default(partitions, root_mount_point, distributor): if swap_uuid: kernel_params.append("resume=UUID={!s}".format(swap_uuid)) - if dracut_bin == 0 and swap_outer_uuid: + if have_dracut and swap_outer_uuid: kernel_params.append("rd.luks.uuid={!s}".format(swap_outer_uuid)) + if have_dracut and swap_outer_mappername: + kernel_params.append("resume=/dev/mapper/{!s}".format( + swap_outer_mappername)) distributor_line = "GRUB_DISTRIBUTOR='{!s}'".format(distributor_replace) diff --git a/src/modules/initcpiocfg/main.py b/src/modules/initcpiocfg/main.py index eb29d7def..a18cd0c4f 100644 --- a/src/modules/initcpiocfg/main.py +++ b/src/modules/initcpiocfg/main.py @@ -65,8 +65,13 @@ def write_mkinitcpio_lines(hooks, modules, files, root_mount_point): :param files: :param root_mount_point: """ - with open("/etc/mkinitcpio.conf", "r") as mkinitcpio_file: - mklins = [x.strip() for x in mkinitcpio_file.readlines()] + hostfile = "/etc/mkinitcpio.conf" + try: + with open(hostfile, "r") as mkinitcpio_file: + mklins = [x.strip() for x in mkinitcpio_file.readlines()] + except FileNotFoundError: + libcalamares.utils.debug("Could not open host file '%s'" % hostfile) + mklins = [] for i in range(len(mklins)): if mklins[i].startswith("HOOKS"): diff --git a/src/modules/interactiveterminal/InteractiveTerminalViewStep.h b/src/modules/interactiveterminal/InteractiveTerminalViewStep.h index 77f7bdf34..1c95a229a 100644 --- a/src/modules/interactiveterminal/InteractiveTerminalViewStep.h +++ b/src/modules/interactiveterminal/InteractiveTerminalViewStep.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,7 +35,7 @@ class PLUGINDLLEXPORT InteractiveTerminalViewStep : public Calamares::ViewStep public: explicit InteractiveTerminalViewStep( QObject* parent = nullptr ); - virtual ~InteractiveTerminalViewStep(); + virtual ~InteractiveTerminalViewStep() override; QString prettyName() const override; diff --git a/src/modules/keyboard/KeyboardPage.cpp b/src/modules/keyboard/KeyboardPage.cpp index 3f1b7b2c3..5443cf01a 100644 --- a/src/modules/keyboard/KeyboardPage.cpp +++ b/src/modules/keyboard/KeyboardPage.cpp @@ -37,6 +37,18 @@ #include #include +class LayoutItem : public QListWidgetItem +{ +public: + QString data; + + virtual ~LayoutItem(); +}; + +LayoutItem::~LayoutItem() +{ +} + static QPersistentModelIndex findLayout( const KeyboardLayoutModel* klm, const QString& currentLayout ) { @@ -54,7 +66,7 @@ findLayout( const KeyboardLayoutModel* klm, const QString& currentLayout ) } KeyboardPage::KeyboardPage( QWidget* parent ) - : QWidget() + : QWidget( parent ) , ui( new Ui::Page_Keyboard ) , m_keyboardPreview( new KeyBoardPreview( this ) ) , m_defaultIndex( 0 ) @@ -321,6 +333,8 @@ static inline QStringList xkbmap_args( QStringList&& r, const QString& layout, c void KeyboardPage::onListVariantCurrentItemChanged( QListWidgetItem* current, QListWidgetItem* previous ) { + Q_UNUSED( previous ); + QPersistentModelIndex layoutIndex = ui->listLayout->currentIndex(); LayoutItem* variantItem = dynamic_cast< LayoutItem* >( current ); diff --git a/src/modules/keyboard/KeyboardPage.h b/src/modules/keyboard/KeyboardPage.h index c60d62b2b..7a31f6511 100644 --- a/src/modules/keyboard/KeyboardPage.h +++ b/src/modules/keyboard/KeyboardPage.h @@ -63,13 +63,6 @@ protected slots: QListWidgetItem* previous ); private: - class LayoutItem : public QListWidgetItem - { - public: - QString data; - KeyboardGlobal::KeyboardInfo info; - }; - void updateVariants( const QPersistentModelIndex& currentItem, QString currentVariant = QString() ); diff --git a/src/modules/keyboard/KeyboardViewStep.cpp b/src/modules/keyboard/KeyboardViewStep.cpp index cdb2657dc..0dd326a8d 100644 --- a/src/modules/keyboard/KeyboardViewStep.cpp +++ b/src/modules/keyboard/KeyboardViewStep.cpp @@ -134,9 +134,6 @@ KeyboardViewStep::onLeave() void KeyboardViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { - // Save the settings to the global settings for the SetKeyboardLayoutJob to use - Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); - if ( configurationMap.contains( "xOrgConfFileName" ) && configurationMap.value( "xOrgConfFileName" ).type() == QVariant::String && !configurationMap.value( "xOrgConfFileName" ).toString().isEmpty() ) diff --git a/src/modules/keyboard/KeyboardViewStep.h b/src/modules/keyboard/KeyboardViewStep.h index 239639251..64ce2bb75 100644 --- a/src/modules/keyboard/KeyboardViewStep.h +++ b/src/modules/keyboard/KeyboardViewStep.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,7 +35,7 @@ class PLUGINDLLEXPORT KeyboardViewStep : public Calamares::ViewStep public: explicit KeyboardViewStep( QObject* parent = nullptr ); - virtual ~KeyboardViewStep(); + virtual ~KeyboardViewStep() override; QString prettyName() const override; QString prettyStatus() const override; diff --git a/src/modules/license/LicenseViewStep.h b/src/modules/license/LicenseViewStep.h index 6229853ba..07824a5e3 100644 --- a/src/modules/license/LicenseViewStep.h +++ b/src/modules/license/LicenseViewStep.h @@ -36,7 +36,7 @@ class PLUGINDLLEXPORT LicenseViewStep : public Calamares::ViewStep public: explicit LicenseViewStep( QObject* parent = nullptr ); - virtual ~LicenseViewStep(); + virtual ~LicenseViewStep() override; QString prettyName() const override; @@ -52,7 +52,7 @@ public: bool isAtEnd() const override; QList< Calamares::job_ptr > jobs() const override; - + void setConfigurationMap( const QVariantMap& configurationMap ) override; private: diff --git a/src/modules/locale/CMakeLists.txt b/src/modules/locale/CMakeLists.txt index 61bdfc707..e32f6e613 100644 --- a/src/modules/locale/CMakeLists.txt +++ b/src/modules/locale/CMakeLists.txt @@ -17,6 +17,6 @@ calamares_add_plugin( locale LINK_PRIVATE_LIBRARIES calamaresui Qt5::Network - yaml-cpp + ${YAMLCPP_LIBRARY} SHARED_LIB ) diff --git a/src/modules/locale/LCLocaleDialog.cpp b/src/modules/locale/LCLocaleDialog.cpp index c6b475b24..46605091b 100644 --- a/src/modules/locale/LCLocaleDialog.cpp +++ b/src/modules/locale/LCLocaleDialog.cpp @@ -41,7 +41,7 @@ LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, upperText->setText( tr( "The system locale setting affects the language and character " "set for some command line user interface elements.
" "The current setting is %1." ) - .arg( guessedLCLocale ) ); + .arg( guessedLCLocale ) ); mainLayout->addWidget( upperText ); setMinimumWidth( upperText->fontMetrics().height() * 24 ); @@ -61,8 +61,11 @@ LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, } QDialogButtonBox* dbb = new QDialogButtonBox( QDialogButtonBox::Ok | QDialogButtonBox::Cancel, - Qt::Horizontal, - this ); + Qt::Horizontal, + this ); + dbb->button( QDialogButtonBox::Cancel )->setText( tr( "&Cancel" ) ); + dbb->button( QDialogButtonBox::Ok )->setText( tr( "&OK" ) ); + mainLayout->addWidget( dbb ); connect( dbb->button( QDialogButtonBox::Ok ), &QPushButton::clicked, @@ -83,9 +86,7 @@ LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, } ); if ( selected > -1 ) - { m_localesWidget->setCurrentRow( selected ); - } } diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 4882b1684..2172586ff 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -282,7 +282,7 @@ LocalePage::init( const QString& initialRegion, } else { - m_tzWidget->setCurrentLocation( "Europe", "Berlin" ); + m_tzWidget->setCurrentLocation( "America", "New_York" ); } emit m_tzWidget->locationChanged( m_tzWidget->getCurrentLocation() ); diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 24719b1be..4b4219751 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -116,28 +116,37 @@ LocaleViewStep::fetchGeoIpTimezone() { if ( reply->error() == QNetworkReply::NoError ) { - YAML::Node doc = YAML::Load( reply->readAll() ); + QByteArray data = reply->readAll(); - QVariant var = CalamaresUtils::yamlToVariant( doc ); - if ( !var.isNull() && - var.isValid() && - var.type() == QVariant::Map ) + try { - QVariantMap map = var.toMap(); - if ( map.contains( "time_zone" ) && - !map.value( "time_zone" ).toString().isEmpty() ) + YAML::Node doc = YAML::Load( reply->readAll() ); + + QVariant var = CalamaresUtils::yamlToVariant( doc ); + if ( !var.isNull() && + var.isValid() && + var.type() == QVariant::Map ) { - QString timezoneString = map.value( "time_zone" ).toString(); - QStringList timezone = timezoneString.split( '/', QString::SkipEmptyParts ); - if ( timezone.size() >= 2 ) + QVariantMap map = var.toMap(); + if ( map.contains( "time_zone" ) && + !map.value( "time_zone" ).toString().isEmpty() ) { - cDebug() << "GeoIP reporting" << timezoneString; - QString region = timezone.takeFirst(); - QString zone = timezone.join( '/' ); - m_startingTimezone = qMakePair( region, zone ); + QString timezoneString = map.value( "time_zone" ).toString(); + QStringList tzParts = timezoneString.split( '/', QString::SkipEmptyParts ); + if ( tzParts.size() >= 2 ) + { + cDebug() << "GeoIP reporting" << timezoneString; + QString region = tzParts.takeFirst(); + QString zone = tzParts.join( '/' ); + m_startingTimezone = qMakePair( region, zone ); + } } } } + catch ( YAML::Exception& e ) + { + CalamaresUtils::explainYamlException( e, data, "GeoIP data"); + } } reply->deleteLater(); @@ -262,8 +271,8 @@ LocaleViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } else { - m_startingTimezone = qMakePair( QStringLiteral( "Europe" ), - QStringLiteral( "Berlin" ) ); + m_startingTimezone = qMakePair( QStringLiteral( "America" ), + QStringLiteral( "New_York" ) ); } if ( configurationMap.contains( "localeGenPath" ) && diff --git a/src/modules/locale/LocaleViewStep.h b/src/modules/locale/LocaleViewStep.h index 2785f3d4a..402fb7ce9 100644 --- a/src/modules/locale/LocaleViewStep.h +++ b/src/modules/locale/LocaleViewStep.h @@ -37,7 +37,7 @@ class PLUGINDLLEXPORT LocaleViewStep : public Calamares::ViewStep public: explicit LocaleViewStep( QObject* parent = nullptr ); - virtual ~LocaleViewStep(); + virtual ~LocaleViewStep() override; QString prettyName() const override; QString prettyStatus() const override; diff --git a/src/modules/netinstall/CMakeLists.txt b/src/modules/netinstall/CMakeLists.txt index 1de1c7505..67f805734 100644 --- a/src/modules/netinstall/CMakeLists.txt +++ b/src/modules/netinstall/CMakeLists.txt @@ -15,6 +15,6 @@ calamares_add_plugin( netinstall LINK_PRIVATE_LIBRARIES calamaresui Qt5::Network - yaml-cpp + ${YAMLCPP_LIBRARY} SHARED_LIB ) diff --git a/src/modules/netinstall/NetInstallPage.cpp b/src/modules/netinstall/NetInstallPage.cpp index b5fa702d6..7bfda320c 100644 --- a/src/modules/netinstall/NetInstallPage.cpp +++ b/src/modules/netinstall/NetInstallPage.cpp @@ -64,14 +64,28 @@ NetInstallPage::isReady() return true; } -void NetInstallPage::readGroups( const QByteArray& yamlData ) +bool +NetInstallPage::readGroups( const QByteArray& yamlData ) { - YAML::Node groups = YAML::Load( yamlData.constData() ); - Q_ASSERT( groups.IsSequence() ); - m_groups = new PackageModel( groups ); - CALAMARES_RETRANSLATE( - m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Name" ) ); - m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Description" ) ); ) + try + { + YAML::Node groups = YAML::Load( yamlData.constData() ); + + if ( !groups.IsSequence() ) + cDebug() << "WARNING: netinstall groups data does not form a sequence."; + Q_ASSERT( groups.IsSequence() ); + m_groups = new PackageModel( groups ); + CALAMARES_RETRANSLATE( + m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Name" ) ); + m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Description" ) ); ) + return true; + + } + catch ( YAML::Exception& e ) + { + CalamaresUtils::explainYamlException( e, yamlData, "netinstall groups data" ); + return false; + } } void @@ -84,7 +98,13 @@ NetInstallPage::dataIsHere( QNetworkReply* reply ) return; } - readGroups( reply->readAll() ); + if ( !readGroups( reply->readAll() ) ) + { + cDebug() << "Netinstall groups data was received, but invalid."; + ui->netinst_status->setText( tr( "Network Installation. (Disabled: Unable to fetch package lists, check your network connection)" ) ); + reply->deleteLater(); + return; + } ui->groupswidget->setModel( m_groups ); ui->groupswidget->header()->setSectionResizeMode( 0, QHeaderView::ResizeToContents ); diff --git a/src/modules/netinstall/NetInstallPage.h b/src/modules/netinstall/NetInstallPage.h index 7ecc74f89..423c16b8e 100644 --- a/src/modules/netinstall/NetInstallPage.h +++ b/src/modules/netinstall/NetInstallPage.h @@ -2,6 +2,7 @@ * Copyright 2016, Luca Giambonini * Copyright 2016, Lisa Vitolo * Copyright 2017, Kyle Robbertze + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -67,7 +68,7 @@ private: // Takes the YAML data representing the groups and reads them into the // m_groups and m_groupOrder internal structures. See the README.md // of this module to know the format expected of the YAML files. - void readGroups( const QByteArray& yamlData ); + bool readGroups( const QByteArray& yamlData ); Ui::Page_NetInst* ui; diff --git a/src/modules/netinstall/NetInstallViewStep.h b/src/modules/netinstall/NetInstallViewStep.h index de4d411d8..d9853f26f 100644 --- a/src/modules/netinstall/NetInstallViewStep.h +++ b/src/modules/netinstall/NetInstallViewStep.h @@ -1,6 +1,7 @@ /* * Copyright 2016, Luca Giambonini * Copyright 2016, Lisa Vitolo + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,7 +35,7 @@ class PLUGINDLLEXPORT NetInstallViewStep : public Calamares::ViewStep public: explicit NetInstallViewStep( QObject* parent = nullptr ); - virtual ~NetInstallViewStep(); + virtual ~NetInstallViewStep() override; QString prettyName() const override; QString prettyStatus() const override; diff --git a/src/modules/netinstall/PackageModel.cpp b/src/modules/netinstall/PackageModel.cpp index 629133c86..9fe8305a7 100644 --- a/src/modules/netinstall/PackageModel.cpp +++ b/src/modules/netinstall/PackageModel.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -126,6 +127,8 @@ bool PackageModel::setHeaderData( int section, Qt::Orientation orientation, const QVariant& value, int role ) { + Q_UNUSED( role ); + if ( orientation == Qt::Horizontal ) { if ( m_columnHeadings.value( section ) != QVariant() ) diff --git a/src/modules/netinstall/PackageModel.h b/src/modules/netinstall/PackageModel.h index d49dd88c2..148bd99ab 100644 --- a/src/modules/netinstall/PackageModel.h +++ b/src/modules/netinstall/PackageModel.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -35,14 +36,14 @@ class PackageModel : public QAbstractItemModel Q_OBJECT public: - explicit PackageModel( const YAML::Node& data, QObject* parent = 0 ); - ~PackageModel(); + explicit PackageModel( const YAML::Node& data, QObject* parent = nullptr ); + ~PackageModel() override; QVariant data( const QModelIndex& index, int role ) const override; bool setData( const QModelIndex& index, const QVariant& value, int role = Qt::EditRole ) override; bool setHeaderData( int section, Qt::Orientation orientation, - const QVariant& value, int role = Qt::EditRole ); + const QVariant& value, int role = Qt::EditRole ) override; Qt::ItemFlags flags( const QModelIndex& index ) const override; QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const override; diff --git a/src/modules/netinstall/PackageTreeItem.cpp b/src/modules/netinstall/PackageTreeItem.cpp index 0cbc52223..77ca07a9c 100644 --- a/src/modules/netinstall/PackageTreeItem.cpp +++ b/src/modules/netinstall/PackageTreeItem.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,9 +19,9 @@ #include "PackageTreeItem.h" -PackageTreeItem::PackageTreeItem( const ItemData& data, PackageTreeItem* parent ) : - m_data( data ), - m_parentItem( parent ) +PackageTreeItem::PackageTreeItem( const ItemData& data, PackageTreeItem* parent ) + : m_parentItem( parent ) + , m_data( data ) { } PackageTreeItem::PackageTreeItem( const QString packageName, PackageTreeItem* parent ) : diff --git a/src/modules/netinstall/PackageTreeItem.h b/src/modules/netinstall/PackageTreeItem.h index 291def37d..e9bbcf59c 100644 --- a/src/modules/netinstall/PackageTreeItem.h +++ b/src/modules/netinstall/PackageTreeItem.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,10 +38,10 @@ public: bool isHidden = false; Qt::CheckState selected = Qt::Unchecked; }; - explicit PackageTreeItem( const ItemData& data, PackageTreeItem* parent = 0 ); - explicit PackageTreeItem( const QString packageName, PackageTreeItem* parent = 0 ); - explicit PackageTreeItem( PackageTreeItem* parent = 0 ); - ~PackageTreeItem(); + explicit PackageTreeItem( const ItemData& data, PackageTreeItem* parent = nullptr ); + explicit PackageTreeItem( const QString packageName, PackageTreeItem* parent = nullptr ); + explicit PackageTreeItem( PackageTreeItem* parent = nullptr ); + ~PackageTreeItem() override; void appendChild( PackageTreeItem* child ); PackageTreeItem* child( int row ); diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index 9eb0a8ea0..48caae6bd 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -27,6 +27,49 @@ import subprocess import libcalamares from libcalamares.utils import check_target_env_call, target_env_call +from libcalamares.utils import gettext_path, gettext_languages + +import gettext +_translation = gettext.translation("calamares-python", + localedir=gettext_path(), + languages=gettext_languages(), + fallback=True) +_ = _translation.gettext +_n = _translation.ngettext + + +total_packages = 0 # For the entire job +completed_packages = 0 # Done so far for this job +group_packages = 0 # One group of packages from an -install or -remove entry + +INSTALL = object() +REMOVE = object() +mode_packages = None # Changes to INSTALL or REMOVE + + +def _change_mode(mode): + global mode_packages + mode_packages = mode + libcalamares.job.setprogress(completed_packages * 1.0 / total_packages) + + +def pretty_name(): + if not group_packages: + # Outside the context of an operation + s = _("Processing packages (%(count)d / %(total)d)") + elif mode_packages is INSTALL: + s = _n("Installing one package.", + "Installing %(num)d packages.", group_packages) + elif mode_packages is REMOVE: + s = _n("Removing one package.", + "Removing %(num)d packages.", group_packages) + else: + # No mode, generic description + s = _("Install packages.") + + return s % {"num": group_packages, + "count": completed_packages, + "total": total_packages} class PackageManager(metaclass=abc.ABCMeta): @@ -306,15 +349,20 @@ def run_operations(pkgman, entry): :param pkgman: :param entry: """ + global group_packages, completed_packages, mode_packages + for key in entry.keys(): entry[key] = subst_locale(entry[key]) + group_packages = len(entry[key]) if key == "install": + _change_mode(INSTALL) if all([isinstance(x, str) for x in entry[key]]): pkgman.install(entry[key]) else: for package in entry[key]: pkgman.install_package(package) elif key == "try_install": + _change_mode(INSTALL) # we make a separate package manager call for each package so a # single failing package won't stop all of them for package in entry[key]: @@ -325,8 +373,10 @@ def run_operations(pkgman, entry): warn_text += str(package) libcalamares.utils.debug(warn_text) elif key == "remove": + _change_mode(REMOVE) pkgman.remove(entry[key]) elif key == "try_remove": + _change_mode(REMOVE) for package in entry[key]: try: pkgman.remove([package]) @@ -335,8 +385,16 @@ def run_operations(pkgman, entry): warn_text += package libcalamares.utils.debug(warn_text) elif key == "localInstall": + _change_mode(INSTALL) pkgman.install(entry[key], from_local=True) + completed_packages += len(entry[key]) + libcalamares.job.setprogress(completed_packages * 1.0 / total_packages) + libcalamares.utils.debug(pretty_name()) + + group_packages = 0 + _change_mode(None) + def run(): """ @@ -345,6 +403,8 @@ def run(): :return: """ + global mode_packages, total_packages, completed_packages, group_packages + backend = libcalamares.job.configuration.get("backend") for identifier, impl in backend_managers: @@ -354,17 +414,33 @@ def run(): else: return "Bad backend", "backend=\"{}\"".format(backend) - operations = libcalamares.job.configuration.get("operations", []) - update_db = libcalamares.job.configuration.get("update_db", False) if update_db and libcalamares.globalstorage.value("hasInternet"): pkgman.update_db() + operations = libcalamares.job.configuration.get("operations", []) + if libcalamares.globalstorage.contains("packageOperations"): + operations += libcalamares.globalstorage.value("packageOperations") + + mode_packages = None + total_packages = 0 + completed_packages = 0 + for op in operations: + for packagelist in op.values(): + total_packages += len(packagelist) + + if not total_packages: + # Avoids potential divide-by-zero in progress reporting + return None + for entry in operations: + group_packages = 0 + libcalamares.utils.debug(pretty_name()) run_operations(pkgman, entry) - if libcalamares.globalstorage.contains("packageOperations"): - run_operations(pkgman, - libcalamares.globalstorage.value("packageOperations")) + mode_packages = None + + libcalamares.job.setprogress(1.0) + libcalamares.utils.debug(pretty_name()) return None diff --git a/src/modules/packages/packages.conf b/src/modules/packages/packages.conf index 7bf589243..6e3af05a8 100644 --- a/src/modules/packages/packages.conf +++ b/src/modules/packages/packages.conf @@ -33,23 +33,84 @@ update_db: true # storage called "packageOperations" and it is processed # after the static list in the job configuration. # -#operations: -# - install: -# - pkg1 -# - pkg2 -# - remove: -# - pkg3 -# - pkg4 -# - try_install: # no system install failure if a package cannot be installed -# - pkg5 -# - try_remove: # no system install failure if a package cannot be removed -# - pkg2 -# - pkg1 -# - install: -# - pkgs6 -# - pkg7 -# - localInstall: -# - /path/to/pkg8 +# Allowed package operations are: +# - install, try_install: will call the package manager to +# install one or more packages. The install target will +# abort the whole installation if package-installation +# fails, while try_install carries on. Packages may be +# listed as (localized) names, or as (localized) package-data. +# See below for the description of the format. +# - localInstall: this is used to call the package manager +# to install a package from a path-to-a-package. This is +# useful if you have a static package archive on the install media. +# - remove, try_remove: will call the package manager to +# remove one or more packages. The remove target will +# abort the whole installation if package-removal fails, +# while try_remove carries on. Packages may be listed as +# (localized) names. +# +# There are two formats for naming packages: as a name # or as package-data, +# which is an object notation providing package-name, as well as pre- and +# post-install scripts. +# +# Here are both formats, for installing vi. The first one just names the +# package for vi (using the naming of the installed package manager), while +# the second contains three data-items; the pre-script is run before invoking +# the package manager, and the post-script runs once it is done. +# +# - install +# - vi +# - package: vi +# pre-script: touch /tmp/installing-vi +# post-script: rm -f /tmp/installing-vi +# +# The pre- and post-scripts are optional, but not both optional: using +# "package: vi" with neither script option will trick Calamares into +# trying to install a package named "package: vi", which is unlikely to work. +# +# Any package name may be localized; this is used to install localization +# packages for software based on the selected system locale. By including +# the string LOCALE in the package name, the following happens: +# +# - if the system locale is English (generally US English; en_GB is a valid +# localization), then the package is not installed at all, +# - otherwise LOCALE is replaced by the Bcp47 name of the selected system +# locale, e.g. nl_BE. +# +# The following installs localizations for vi, if they are relevant; if +# there is no localization, installation continues normally. +# +# - install +# - vi-LOCALE +# - package: vi-LOCALE +# pre-script: touch /tmp/installing-vi +# post-script: rm -f /tmp/installing-vi +# +# When installing packages, Calamares will invoke the package manager +# with a list of package names if it can; package-data prevents this because +# of the scripts that need to run. In other words, this: +# +# - install: +# - vi +# - binutils +# - package: wget +# pre-script: touch /tmp/installing-wget +# +# This will invoke the package manager three times, once for each package, +# because not all of them are simple package names. You can speed up the +# process if you have only a few pre-scriots, by using multiple install targets: +# +# - install: +# - vi +# - binutils +# - install: +# - package: wget +# pre-script: touch /tmp/installing-wget +# +# This will call the package manager once with the package-names "vi" and +# "binutils", and then a second time for "wget". When installing large numbers +# of packages, this can lead to a considerable time savings. +# operations: - install: - vi diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 5f64b6530..1ea69c027 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -8,6 +8,10 @@ find_package( KF5 REQUIRED CoreAddons ) # These are needed because KPMcore links publicly against ConfigCore, I18n, IconThemes, KIOCore and Service find_package( KF5 REQUIRED Config I18n IconThemes KIO Service ) +find_package( KPMcore 3.1.50 QUIET ) +if ( ${KPMcore_FOUND} ) + add_definitions(-DWITH_KPMCORE22) +endif() find_package( KPMcore 3.0.3 REQUIRED ) find_library( atasmart_LIB atasmart ) find_library( blkid_LIB blkid ) diff --git a/src/modules/partition/core/BootLoaderModel.h b/src/modules/partition/core/BootLoaderModel.h index 27684e326..e911d9029 100644 --- a/src/modules/partition/core/BootLoaderModel.h +++ b/src/modules/partition/core/BootLoaderModel.h @@ -38,8 +38,8 @@ public: IsPartitionRole }; - BootLoaderModel( QObject* parent = 0 ); - ~BootLoaderModel(); + BootLoaderModel( QObject* parent = nullptr ); + ~BootLoaderModel() override; /** * Init the model with the list of devices. Does *not* take ownership of the diff --git a/src/modules/partition/core/DeviceList.cpp b/src/modules/partition/core/DeviceList.cpp index 5bce4a0e3..05616335b 100644 --- a/src/modules/partition/core/DeviceList.cpp +++ b/src/modules/partition/core/DeviceList.cpp @@ -106,12 +106,22 @@ operator <<( QDebug& s, QList< Device* >::iterator& it ) return s; } +using DeviceList = QList< Device* >; + +static inline DeviceList::iterator +erase(DeviceList& l, DeviceList::iterator& it) +{ + Device* p = *it; + auto r = l.erase( it ); + if (p) + delete p; + return r; +} + QList< Device* > getDevices( DeviceType which, qint64 minimumSize ) { bool writableOnly = (which == DeviceType::WritableOnly); - using DeviceList = QList< Device* >; - CoreBackend* backend = CoreBackendManager::self()->backend(); DeviceList devices = backend->scanDevices( true ); @@ -123,22 +133,24 @@ QList< Device* > getDevices( DeviceType which, qint64 minimumSize ) ( *it )->deviceNode().startsWith( "/dev/zram" ) ) { - cDebug() << " .. Removing" << it; - it = devices.erase( it ); + cDebug() << " .. Removing zram" << it; + it = erase(devices, it ); } - else if ( writableOnly && ( - hasRootPartition( *it ) || - isIso9660( *it ) ) - ) + else if ( writableOnly && hasRootPartition( *it ) ) { - cDebug() << " .. Removing" << it; - it = devices.erase( it ); + cDebug() << " .. Removing device with root filesystem (/) on it" << it; + it = erase(devices, it ); + } + else if ( writableOnly && isIso9660( *it ) ) + { + cDebug() << " .. Removing device with iso9660 filesystem (probably a CD) on it" << it; + it = erase(devices, it ); } else if ( (minimumSize >= 0) && !( (*it)->capacity() > minimumSize ) ) { cDebug() << " .. Removing too-small" << it; - it = devices.erase( it ); + it = erase(devices, it ); } else ++it; diff --git a/src/modules/partition/core/DeviceModel.h b/src/modules/partition/core/DeviceModel.h index 21c6bd939..32c557d9e 100644 --- a/src/modules/partition/core/DeviceModel.h +++ b/src/modules/partition/core/DeviceModel.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,8 +33,8 @@ class DeviceModel : public QAbstractListModel { Q_OBJECT public: - DeviceModel( QObject* parent = 0 ); - ~DeviceModel(); + DeviceModel( QObject* parent = nullptr ); + ~DeviceModel() override; /** * Init the model with the list of devices. Does *not* take ownership of the diff --git a/src/modules/partition/core/KPMHelpers.cpp b/src/modules/partition/core/KPMHelpers.cpp index fc93b6bd7..6ed167eee 100644 --- a/src/modules/partition/core/KPMHelpers.cpp +++ b/src/modules/partition/core/KPMHelpers.cpp @@ -23,6 +23,7 @@ #include "core/PartitionIterator.h" // KPMcore +#include #include #include #include @@ -114,7 +115,11 @@ createNewPartition( PartitionNode* parent, qint64 lastSector, PartitionTable::Flags flags ) { - FileSystem* fs = FileSystemFactory::create( fsType, firstSector, lastSector ); + FileSystem* fs = FileSystemFactory::create( fsType, firstSector, lastSector +#ifdef WITH_KPMCORE22 + ,device.logicalSize() +#endif + ); return new Partition( parent, device, @@ -147,7 +152,11 @@ createNewEncryptedPartition( PartitionNode* parent, FS::luks* fs = dynamic_cast< FS::luks* >( FileSystemFactory::create( FileSystem::Luks, firstSector, - lastSector ) ); + lastSector +#ifdef WITH_KPMCORE22 + ,device.logicalSize() +#endif + ) ); if ( !fs ) { qDebug() << "ERROR: cannot create LUKS filesystem. Giving up."; @@ -177,6 +186,9 @@ clonePartition( Device* device, Partition* partition ) partition->fileSystem().type(), partition->firstSector(), partition->lastSector() +#ifdef WITH_KPMCORE22 + ,device->logicalSize() +#endif ); return new Partition( partition->parent(), *device, diff --git a/src/modules/partition/core/PartUtils.cpp b/src/modules/partition/core/PartUtils.cpp index df230311a..d2493239e 100644 --- a/src/modules/partition/core/PartUtils.cpp +++ b/src/modules/partition/core/PartUtils.cpp @@ -45,6 +45,9 @@ canBeReplaced( Partition* candidate ) if ( !candidate ) return false; + if ( candidate->isMounted() ) + return false; + bool ok = false; double requiredStorageGB = Calamares::JobQueue::instance() ->globalStorage() @@ -83,6 +86,9 @@ canBeResized( Partition* candidate ) if ( KPMHelpers::isPartitionFreeSpace( candidate ) ) return false; + if ( candidate->isMounted() ) + return false; + if ( candidate->roles().has( PartitionRole::Primary ) ) { PartitionTable* table = dynamic_cast< PartitionTable* >( candidate->parent() ); diff --git a/src/modules/partition/core/PartitionActions.cpp b/src/modules/partition/core/PartitionActions.cpp index 14e7bf010..1c2363845 100644 --- a/src/modules/partition/core/PartitionActions.cpp +++ b/src/modules/partition/core/PartitionActions.cpp @@ -25,6 +25,7 @@ #include "core/PartUtils.h" #include "utils/CalamaresUtilsSystem.h" +#include "utils/Units.h" #include "JobQueue.h" #include "utils/Logger.h" #include "GlobalStorage.h" @@ -36,42 +37,29 @@ namespace PartitionActions { -constexpr qint64 operator ""_MiB( unsigned long long m ) -{ - return m * static_cast< qint64 >( 1024 ) * 1024; -} - -constexpr qint64 operator ""_GiB( unsigned long long m ) -{ - return operator ""_MiB(m) * static_cast< qint64 >( 1024 ); -} - -constexpr qint64 toMiB( unsigned long long m ) -{ - return operator ""_MiB( m ); -} - -constexpr qint64 toGiB( unsigned long long m ) -{ - return operator ""_GiB( m ); -} +using CalamaresUtils::GiBtoBytes; +using CalamaresUtils::MiBtoBytes; +using CalamaresUtils::operator""_GiB; +using CalamaresUtils::operator""_MiB; qint64 swapSuggestion( const qint64 availableSpaceB ) { - // swap(mem) = max(2, 2 * mem), if mem < 2 GiB - // = mem, if 2 GiB <= mem < 8 GiB - // = mem / 2, if 8 GIB <= mem < 64 GiB - // = 4 GiB, if mem >= 64 GiB - + /* If suspend-to-disk is demanded, then we always need enough + * swap to write the whole memory to disk -- between 2GB and 8GB + * RAM give proportionally more swap, and from 8GB RAM keep + * swap = RAM. + * + * If suspend-to-disk is not demanded, then ramp up more slowly, + * to 8GB swap at 16GB memory, and then drop to 4GB for "large + * memory" machines, on the assumption that those don't need swap + * because they have tons of memory (or whatever they are doing, + * had better not run into swap). + */ qint64 suggestedSwapSizeB = 0; - qint64 availableRamB = CalamaresUtils::System::instance()->getPhysicalMemoryB(); - qreal overestimationFactor = 1.01; - if ( !availableRamB ) - { - availableRamB = CalamaresUtils::System::instance()->getTotalMemoryB(); - overestimationFactor = 1.10; - } + auto memory = CalamaresUtils::System::instance()->getTotalMemoryB(); + qint64 availableRamB = memory.first; + qreal overestimationFactor = memory.second; bool ensureSuspendToDisk = Calamares::JobQueue::instance()->globalStorage()-> @@ -94,8 +82,8 @@ swapSuggestion( const qint64 availableSpaceB ) suggestedSwapSizeB = qMax( 2_GiB, availableRamB * 2 ); else if ( availableRamB >= 2_GiB && availableRamB < 8_GiB ) suggestedSwapSizeB = availableRamB; - else if ( availableRamB >= 8_GiB && availableRamB < 64_GiB ) - suggestedSwapSizeB = availableRamB / 2; + else if ( availableRamB >= 8_GiB && availableRamB < 16_GiB ) + suggestedSwapSizeB = 8_GiB; else suggestedSwapSizeB = 4_GiB; @@ -140,11 +128,11 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass empty_space_size = 1; } - qint64 firstFreeSector = toMiB(empty_space_size) / dev->logicalSize() + 1; + qint64 firstFreeSector = MiBtoBytes(empty_space_size) / dev->logicalSize() + 1; if ( isEfi ) { - qint64 lastSector = firstFreeSector + ( toMiB(uefisys_part_size) / dev->logicalSize() ); + qint64 lastSector = firstFreeSector + ( MiBtoBytes(uefisys_part_size) / dev->logicalSize() ); core->createPartitionTable( dev, PartitionTable::gpt ); Partition* efiPartition = KPMHelpers::createNewPartition( dev->partitionTable(), @@ -175,7 +163,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass qint64 availableSpaceB = ( dev->totalLogical() - firstFreeSector ) * dev->logicalSize(); suggestedSwapSizeB = swapSuggestion( availableSpaceB ); qint64 requiredSpaceB = - toGiB( gs->value( "requiredStorageGB" ).toDouble() + 0.1 + 2.0 ) + + GiBtoBytes( gs->value( "requiredStorageGB" ).toDouble() + 0.1 + 2.0 ) + suggestedSwapSizeB; // If there is enough room for ESP + root + swap, create swap, otherwise don't. diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index ac22b2b7a..a40ca1035 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -122,6 +122,7 @@ PartitionCoreModule::doInit() cDebug() << "node\tcapacity\tname\tprettyName"; for ( auto device : devices ) { + // Gives ownership of the Device* to the DeviceInfo object auto deviceInfo = new DeviceInfo( device ); m_deviceInfos << deviceInfo; cDebug() << device->deviceNode() << device->capacity() << device->name() << device->prettyName(); @@ -269,8 +270,8 @@ PartitionCoreModule::deletePartition( Device* device, Partition* partition ) if ( !KPMHelpers::isPartitionFreeSpace( childPartition ) ) lst << childPartition; - for ( auto partition : lst ) - deletePartition( device, partition ); + for ( auto childPartition : lst ) + deletePartition( device, childPartition ); } QList< Calamares::job_ptr >& jobs = deviceInfo->jobs; @@ -440,7 +441,7 @@ PartitionCoreModule::osproberEntries() const } void -PartitionCoreModule::refreshPartition( Device* device, Partition* partition ) +PartitionCoreModule::refreshPartition( Device* device, Partition* ) { // Keep it simple for now: reset the model. This can be improved to cause // the model to emit dataChanged() for the affected row instead, avoiding diff --git a/src/modules/partition/core/PartitionModel.h b/src/modules/partition/core/PartitionModel.h index c792058e7..71764d8e9 100644 --- a/src/modules/partition/core/PartitionModel.h +++ b/src/modules/partition/core/PartitionModel.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -90,7 +91,7 @@ public: ColumnCount // Must remain last }; - PartitionModel( QObject* parent = 0 ); + PartitionModel( QObject* parent = nullptr ); /** * device must remain alive for the life of PartitionModel */ diff --git a/src/modules/partition/gui/ChoicePage.cpp b/src/modules/partition/gui/ChoicePage.cpp index 76c65a027..b4e9b0c9f 100644 --- a/src/modules/partition/gui/ChoicePage.cpp +++ b/src/modules/partition/gui/ChoicePage.cpp @@ -474,8 +474,7 @@ ChoicePage::doAlongsideSetupSplitter( const QModelIndex& current, part->partitionPath(), qRound64( part->used() * 1.1 ), part->capacity() - requiredStorageB, - part->capacity() / 2, - *Calamares::Branding::ProductName ); + part->capacity() / 2 ); if ( m_isEfi ) setupEfiSystemPartitionSelector(); @@ -806,9 +805,12 @@ ChoicePage::updateDeviceStatePreview() cDebug() << "Updating partitioning state widgets."; qDeleteAll( m_previewBeforeFrame->children() ); - m_previewBeforeFrame->layout()->deleteLater(); - QVBoxLayout* layout = new QVBoxLayout; + auto layout = m_previewBeforeFrame->layout(); + if ( layout ) + layout->deleteLater(); // Doesn't like nullptr + + layout = new QVBoxLayout; m_previewBeforeFrame->setLayout( layout ); CalamaresUtils::unmarginLayout( layout ); layout->setSpacing( 6 ); @@ -829,7 +831,7 @@ ChoicePage::updateDeviceStatePreview() // The QObject parents tree is meaningful for memory management here, // see qDeleteAll above. - deviceBefore->setParent( model ); + deviceBefore->setParent( model ); // Can't reparent across threads model->setParent( m_beforePartitionBarsView ); m_beforePartitionBarsView->setModel( model ); @@ -838,7 +840,8 @@ ChoicePage::updateDeviceStatePreview() // Make the bars and labels view use the same selectionModel. auto sm = m_beforePartitionLabelsView->selectionModel(); m_beforePartitionLabelsView->setSelectionModel( m_beforePartitionBarsView->selectionModel() ); - sm->deleteLater(); + if ( sm ) + sm->deleteLater(); switch ( m_choice ) { @@ -874,7 +877,10 @@ ChoicePage::updateActionChoicePreview( ChoicePage::Choice choice ) cDebug() << "Updating partitioning preview widgets."; qDeleteAll( m_previewAfterFrame->children() ); - m_previewAfterFrame->layout()->deleteLater(); + + auto oldlayout = m_previewAfterFrame->layout(); + if ( oldlayout ) + oldlayout->deleteLater(); QVBoxLayout* layout = new QVBoxLayout; m_previewAfterFrame->setLayout( layout ); @@ -1123,6 +1129,15 @@ ChoicePage::createBootloaderComboBox( QWidget* parent ) } +static inline void +force_uncheck(QButtonGroup* grp, PrettyRadioButton* button) +{ + button->hide(); + grp->setExclusive( false ); + button->buttonWidget()->setChecked( false ); + grp->setExclusive( true ); +} + /** * @brief ChoicePage::setupActions happens every time a new Device* is selected in the * device picker. Sets up the text and visibility of the partitioning actions based @@ -1142,30 +1157,20 @@ ChoicePage::setupActions() m_deviceInfoWidget->setPartitionTableType( PartitionTable::unknownTableType ); bool atLeastOneCanBeResized = false; + bool atLeastOneCanBeReplaced = false; + bool atLeastOneIsMounted = false; // Suppress 'erase' if so for ( auto it = PartitionIterator::begin( currentDevice ); it != PartitionIterator::end( currentDevice ); ++it ) { if ( PartUtils::canBeResized( *it ) ) - { atLeastOneCanBeResized = true; - break; - } - } - - bool atLeastOneCanBeReplaced = false; - - for ( auto it = PartitionIterator::begin( currentDevice ); - it != PartitionIterator::end( currentDevice ); ++it ) - { if ( PartUtils::canBeReplaced( *it ) ) - { atLeastOneCanBeReplaced = true; - break; - } + if ( (*it)->isMounted() ) + atLeastOneIsMounted = true; } - if ( osproberEntriesForCurrentDevice.count() == 0 ) { CALAMARES_RETRANSLATE( @@ -1242,18 +1247,6 @@ ChoicePage::setupActions() .arg( *Calamares::Branding::ShortVersionedName ) ); ) } - - m_replaceButton->show(); - - if ( atLeastOneCanBeResized ) - m_alongsideButton->show(); - else - { - m_alongsideButton->hide(); - m_grp->setExclusive( false ); - m_alongsideButton->buttonWidget()->setChecked( false ); - m_grp->setExclusive( true ); - } } else { @@ -1277,39 +1270,22 @@ ChoicePage::setupActions() "Replaces a partition with %1." ) .arg( *Calamares::Branding::ShortVersionedName ) ); ) - - m_replaceButton->show(); - - if ( atLeastOneCanBeResized ) - m_alongsideButton->show(); - else - { - m_alongsideButton->hide(); - m_grp->setExclusive( false ); - m_alongsideButton->buttonWidget()->setChecked( false ); - m_grp->setExclusive( true ); - } } if ( atLeastOneCanBeReplaced ) m_replaceButton->show(); else - { - m_replaceButton->hide(); - m_grp->setExclusive( false ); - m_replaceButton->buttonWidget()->setChecked( false ); - m_grp->setExclusive( true ); - } + force_uncheck( m_grp, m_replaceButton ); if ( atLeastOneCanBeResized ) m_alongsideButton->show(); else - { - m_alongsideButton->hide(); - m_grp->setExclusive( false ); - m_alongsideButton->buttonWidget()->setChecked( false ); - m_grp->setExclusive( true ); - } + force_uncheck( m_grp, m_alongsideButton ); + + if ( !atLeastOneIsMounted ) + m_eraseButton->show(); // None mounted + else + force_uncheck( m_grp, m_eraseButton ); bool isEfi = PartUtils::isEfiSystem(); bool efiSystemPartitionFound = !m_core->efiSystemPartitions().isEmpty(); diff --git a/src/modules/partition/gui/DeviceInfoWidget.cpp b/src/modules/partition/gui/DeviceInfoWidget.cpp index 1fadb9566..abe5c7a49 100644 --- a/src/modules/partition/gui/DeviceInfoWidget.cpp +++ b/src/modules/partition/gui/DeviceInfoWidget.cpp @@ -33,6 +33,7 @@ DeviceInfoWidget::DeviceInfoWidget( QWidget* parent ) : QWidget( parent ) , m_ptIcon( new QLabel ) , m_ptLabel( new QLabel ) + , m_tableType( PartitionTable::unknownTableType ) { QHBoxLayout* mainLayout = new QHBoxLayout; setLayout( mainLayout ); diff --git a/src/modules/partition/gui/EncryptWidget.cpp b/src/modules/partition/gui/EncryptWidget.cpp index 9fc7be59d..198f2ebe1 100644 --- a/src/modules/partition/gui/EncryptWidget.cpp +++ b/src/modules/partition/gui/EncryptWidget.cpp @@ -23,6 +23,7 @@ EncryptWidget::EncryptWidget( QWidget* parent ) : QWidget( parent ) + , m_state( EncryptionDisabled ) { setupUi( this ); diff --git a/src/modules/partition/gui/PartitionBarsView.cpp b/src/modules/partition/gui/PartitionBarsView.cpp index f1333da7c..a66420e1b 100644 --- a/src/modules/partition/gui/PartitionBarsView.cpp +++ b/src/modules/partition/gui/PartitionBarsView.cpp @@ -35,8 +35,8 @@ static const int VIEW_HEIGHT = qMax( CalamaresUtils::defaultFontHeight() + 8, // wins out with big fonts - (int)( CalamaresUtils::defaultFontHeight() * 0.6 ) + 22 ); // wins out with small fonts -static const int CORNER_RADIUS = 3; + int( CalamaresUtils::defaultFontHeight() * 0.6 ) + 22 ); // wins out with small fonts +static constexpr int CORNER_RADIUS = 3; static const int EXTENDED_PARTITION_MARGIN = qMax( 4, VIEW_HEIGHT / 6 ); // The SELECTION_MARGIN is applied within a hardcoded 2px padding anyway, so @@ -54,8 +54,8 @@ static const int SELECTION_MARGIN = qMin( ( EXTENDED_PARTITION_MARGIN - 2 ) / 2, PartitionBarsView::PartitionBarsView( QWidget* parent ) : QAbstractItemView( parent ) , m_nestedPartitionsMode( NoNestedPartitions ) - , m_hoveredIndex( QModelIndex() ) , canBeSelected( []( const QModelIndex& ) { return true; } ) + , m_hoveredIndex( QModelIndex() ) { setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ); setFrameStyle( QFrame::NoFrame ); @@ -422,14 +422,14 @@ PartitionBarsView::setSelectionFilter( std::function< bool ( const QModelIndex& QModelIndex -PartitionBarsView::moveCursor( CursorAction cursorAction, Qt::KeyboardModifiers modifiers ) +PartitionBarsView::moveCursor( CursorAction, Qt::KeyboardModifiers ) { return QModelIndex(); } bool -PartitionBarsView::isIndexHidden( const QModelIndex& index ) const +PartitionBarsView::isIndexHidden( const QModelIndex& ) const { return false; } @@ -491,7 +491,7 @@ PartitionBarsView::mouseMoveEvent( QMouseEvent* event ) void -PartitionBarsView::leaveEvent( QEvent* event ) +PartitionBarsView::leaveEvent( QEvent* ) { QGuiApplication::restoreOverrideCursor(); if ( m_hoveredIndex.isValid() ) diff --git a/src/modules/partition/gui/PartitionBarsView.h b/src/modules/partition/gui/PartitionBarsView.h index 002d2c943..e384ed5db 100644 --- a/src/modules/partition/gui/PartitionBarsView.h +++ b/src/modules/partition/gui/PartitionBarsView.h @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -42,7 +43,7 @@ public: }; explicit PartitionBarsView( QWidget* parent = nullptr ); - virtual ~PartitionBarsView(); + virtual ~PartitionBarsView() override; void setNestedPartitionsMode( NestedPartitionsMode mode ); diff --git a/src/modules/partition/gui/PartitionLabelsView.cpp b/src/modules/partition/gui/PartitionLabelsView.cpp index d7364fb5f..c0b7fdd41 100644 --- a/src/modules/partition/gui/PartitionLabelsView.cpp +++ b/src/modules/partition/gui/PartitionLabelsView.cpp @@ -43,7 +43,7 @@ static const int LABELS_MARGIN = LABEL_PARTITION_SQUARE_MARGIN; static const int CORNER_RADIUS = 2; -QStringList +static QStringList buildUnknownDisklabelTexts( Device* dev ) { QStringList texts = { QObject::tr( "Unpartitioned space or unknown partition table" ), @@ -54,7 +54,7 @@ buildUnknownDisklabelTexts( Device* dev ) PartitionLabelsView::PartitionLabelsView( QWidget* parent ) : QAbstractItemView( parent ) - , canBeSelected( []( const QModelIndex& ) { return true; } ) + , m_canBeSelected( []( const QModelIndex& ) { return true; } ) , m_extendedPartitionHidden( false ) { setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ); @@ -100,6 +100,8 @@ PartitionLabelsView::sizeHint() const void PartitionLabelsView::paintEvent( QPaintEvent* event ) { + Q_UNUSED( event ); + QPainter painter( viewport() ); painter.fillRect( rect(), palette().window() ); painter.setRenderHint( QPainter::Antialiasing ); @@ -292,7 +294,6 @@ PartitionLabelsView::drawLabels( QPainter* painter, !modl->device()->partitionTable() ) // No disklabel or unknown { QStringList texts = buildUnknownDisklabelTexts( modl->device() ); - QSize labelSize = sizeForLabel( texts ); QColor labelColor = ColorUtils::unknownDisklabelColor(); drawLabel( painter, texts, labelColor, QPoint( rect.x(), rect.y() ), false /*can't be selected*/ ); } @@ -467,6 +468,8 @@ PartitionLabelsView::visualRect( const QModelIndex& idx ) const QRegion PartitionLabelsView::visualRegionForSelection( const QItemSelection& selection ) const { + Q_UNUSED( selection ); + return QRegion(); } @@ -516,7 +519,7 @@ PartitionLabelsView::setSelectionModel( QItemSelectionModel* selectionModel ) void PartitionLabelsView::setSelectionFilter( SelectionFilter canBeSelected ) { - this->canBeSelected = canBeSelected; + m_canBeSelected = canBeSelected; } @@ -530,6 +533,9 @@ PartitionLabelsView::setExtendedPartitionHidden( bool hidden ) QModelIndex PartitionLabelsView::moveCursor( CursorAction cursorAction, Qt::KeyboardModifiers modifiers ) { + Q_UNUSED( cursorAction ); + Q_UNUSED( modifiers ); + return QModelIndex(); } @@ -537,6 +543,8 @@ PartitionLabelsView::moveCursor( CursorAction cursorAction, Qt::KeyboardModifier bool PartitionLabelsView::isIndexHidden( const QModelIndex& index ) const { + Q_UNUSED( index ); + return false; } @@ -545,7 +553,7 @@ void PartitionLabelsView::setSelection( const QRect& rect, QItemSelectionModel::SelectionFlags flags ) { QModelIndex eventIndex = indexAt( rect.topLeft() ); - if ( canBeSelected( eventIndex ) ) + if ( m_canBeSelected( eventIndex ) ) selectionModel()->select( eventIndex, flags ); } @@ -567,7 +575,7 @@ PartitionLabelsView::mouseMoveEvent( QMouseEvent* event ) if ( oldHoveredIndex != m_hoveredIndex ) { - if ( m_hoveredIndex.isValid() && !canBeSelected( m_hoveredIndex ) ) + if ( m_hoveredIndex.isValid() && !m_canBeSelected( m_hoveredIndex ) ) QGuiApplication::setOverrideCursor( Qt::ForbiddenCursor ); else QGuiApplication::restoreOverrideCursor(); @@ -580,6 +588,8 @@ PartitionLabelsView::mouseMoveEvent( QMouseEvent* event ) void PartitionLabelsView::leaveEvent( QEvent* event ) { + Q_UNUSED( event ); + QGuiApplication::restoreOverrideCursor(); if ( m_hoveredIndex.isValid() ) { @@ -593,7 +603,7 @@ void PartitionLabelsView::mousePressEvent( QMouseEvent* event ) { QModelIndex candidateIndex = indexAt( event->pos() ); - if ( canBeSelected( candidateIndex ) ) + if ( m_canBeSelected( candidateIndex ) ) QAbstractItemView::mousePressEvent( event ); else event->accept(); diff --git a/src/modules/partition/gui/PartitionLabelsView.h b/src/modules/partition/gui/PartitionLabelsView.h index fef453d44..d6c86a5dc 100644 --- a/src/modules/partition/gui/PartitionLabelsView.h +++ b/src/modules/partition/gui/PartitionLabelsView.h @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,7 +37,7 @@ class PartitionLabelsView : public QAbstractItemView Q_OBJECT public: explicit PartitionLabelsView( QWidget* parent = nullptr ); - virtual ~PartitionLabelsView(); + virtual ~PartitionLabelsView() override; QSize minimumSizeHint() const override; @@ -83,7 +84,7 @@ private: QModelIndexList getIndexesToDraw( const QModelIndex& parent ) const; QStringList buildTexts( const QModelIndex& index ) const; - SelectionFilter canBeSelected; + SelectionFilter m_canBeSelected; bool m_extendedPartitionHidden; QString m_customNewRootLabel; diff --git a/src/modules/partition/gui/PartitionPage.cpp b/src/modules/partition/gui/PartitionPage.cpp index 5d541c4e2..62e7a97a1 100644 --- a/src/modules/partition/gui/PartitionPage.cpp +++ b/src/modules/partition/gui/PartitionPage.cpp @@ -56,8 +56,8 @@ PartitionPage::PartitionPage( PartitionCoreModule* core, QWidget* parent ) : QWidget( parent ) , m_ui( new Ui_PartitionPage ) - , m_lastSelectedBootLoaderIndex(-1) , m_core( core ) + , m_lastSelectedBootLoaderIndex(-1) , m_isEfi( false ) { m_isEfi = PartUtils::isEfiSystem(); @@ -373,7 +373,7 @@ PartitionPage::updateFromCurrentDevice() // Establish connection here because selection model is destroyed when // model changes connect( m_ui->partitionTreeView->selectionModel(), &QItemSelectionModel::currentChanged, - [ this ]( const QModelIndex& index, const QModelIndex& oldIndex ) + [ this ]( const QModelIndex&, const QModelIndex& ) { updateButtons(); } ); diff --git a/src/modules/partition/gui/PartitionSizeController.cpp b/src/modules/partition/gui/PartitionSizeController.cpp index d01924e8b..3bb9e758c 100644 --- a/src/modules/partition/gui/PartitionSizeController.cpp +++ b/src/modules/partition/gui/PartitionSizeController.cpp @@ -22,6 +22,8 @@ #include "core/ColorUtils.h" #include "core/KPMHelpers.h" +#include "utils/Units.h" + // Qt #include @@ -56,7 +58,7 @@ PartitionSizeController::setPartResizerWidget( PartResizerWidget* widget, bool f Q_ASSERT( m_device ); if ( m_partResizerWidget ) - disconnect( m_partResizerWidget, 0, this, 0 ); + disconnect( m_partResizerWidget, nullptr, this, nullptr ); m_dirty = false; m_currentSpinBoxValue = -1; @@ -106,7 +108,7 @@ void PartitionSizeController::setSpinBox( QSpinBox* spinBox ) { if ( m_spinBox ) - disconnect( m_spinBox, 0, this, 0 ); + disconnect( m_spinBox, nullptr, this, nullptr ); m_spinBox = spinBox; m_spinBox->setMaximum( std::numeric_limits< int >::max() ); connectWidgets(); @@ -185,7 +187,7 @@ PartitionSizeController::doUpdateSpinBox() { if ( !m_spinBox ) return; - qint64 mbSize = m_partition->length() * m_device->logicalSize() / 1024 / 1024; + int mbSize = CalamaresUtils::BytesToMiB( m_partition->length() * m_device->logicalSize() ); m_spinBox->setValue( mbSize ); if ( m_currentSpinBoxValue != -1 && //if it's not the first time we're setting it m_currentSpinBoxValue != mbSize ) //and the operation changes the SB value diff --git a/src/modules/partition/gui/PartitionSplitterWidget.cpp b/src/modules/partition/gui/PartitionSplitterWidget.cpp index a4aacbe9f..4b0776344 100644 --- a/src/modules/partition/gui/PartitionSplitterWidget.cpp +++ b/src/modules/partition/gui/PartitionSplitterWidget.cpp @@ -34,18 +34,18 @@ #include static const int VIEW_HEIGHT = qMax( CalamaresUtils::defaultFontHeight() + 8, // wins out with big fonts - (int)( CalamaresUtils::defaultFontHeight() * 0.6 ) + 22 ); // wins out with small fonts + int( CalamaresUtils::defaultFontHeight() * 0.6 ) + 22 ); // wins out with small fonts static const int CORNER_RADIUS = 3; static const int EXTENDED_PARTITION_MARGIN = qMax( 4, VIEW_HEIGHT / 6 ); PartitionSplitterWidget::PartitionSplitterWidget( QWidget* parent ) : QWidget( parent ) - , m_resizing( false ) , m_itemToResize( PartitionSplitterItem::null() ) , m_itemToResizeNext( PartitionSplitterItem::null() ) , m_itemMinSize( 0 ) , m_itemMaxSize( 0 ) , m_itemPrefSize( 0 ) + , m_resizing( false ) , m_resizeHandleX( 0 ) , HANDLE_SNAP( QApplication::startDragDistance() ) , m_drawNestedPartitions( false ) @@ -114,8 +114,7 @@ void PartitionSplitterWidget::setSplitPartition( const QString& path, qint64 minSize, qint64 maxSize, - qint64 preferredSize, - const QString& newLabel ) + qint64 preferredSize ) { cDebug() << Q_FUNC_INFO << "path:" << path << "\nminSize:" << minSize @@ -287,6 +286,8 @@ PartitionSplitterWidget::minimumSizeHint() const void PartitionSplitterWidget::paintEvent( QPaintEvent* event ) { + Q_UNUSED( event ); + QPainter painter( this ); painter.fillRect( rect(), palette().window() ); painter.setRenderHint( QPainter::Antialiasing ); @@ -400,6 +401,8 @@ PartitionSplitterWidget::mouseMoveEvent( QMouseEvent* event ) void PartitionSplitterWidget::mouseReleaseEvent( QMouseEvent* event ) { + Q_UNUSED( event ); + m_resizing = false; } @@ -491,7 +494,7 @@ PartitionSplitterWidget::drawResizeHandle( QPainter* painter, painter->setRenderHint( QPainter::Antialiasing, false ); painter->setPen( Qt::black ); - painter->drawLine( x, 0, x, h - 1 ); + painter->drawLine( x, 0, x, int(h) - 1 ); } @@ -511,20 +514,20 @@ PartitionSplitterWidget::drawPartitions( QPainter* painter, for ( int row = 0; row < count; ++row ) { const PartitionSplitterItem& item = items[ row ]; - int width; + qreal width; if ( row < count - 1 ) width = totalWidth * ( item.size / total ); else // Make sure we fill the last pixel column width = rect.right() - x + 1; - drawSection( painter, rect, x, width, item ); + drawSection( painter, rect, x, int(width), item ); if ( !item.children.isEmpty() ) { QRect subRect( x + EXTENDED_PARTITION_MARGIN, rect.y() + EXTENDED_PARTITION_MARGIN, - width - 2 * EXTENDED_PARTITION_MARGIN, + int(width) - 2 * EXTENDED_PARTITION_MARGIN, rect.height() - 2 * EXTENDED_PARTITION_MARGIN ); drawPartitions( painter, subRect, item.children ); @@ -600,7 +603,7 @@ PartitionSplitterWidget::computeItemsVector( const QVector< PartitionSplitterIte PartitionSplitterItem thisItem = originalItems[ row ]; QPair< QVector< PartitionSplitterItem >, qreal > pair = computeItemsVector( thisItem.children ); thisItem.children = pair.first; - thisItem.size = pair.second; + thisItem.size = qint64(pair.second); items += thisItem; total += thisItem.size; } @@ -614,7 +617,7 @@ PartitionSplitterWidget::computeItemsVector( const QVector< PartitionSplitterIte if ( items[ row ].size < 0.01 * total ) // If this item is smaller than 1% of everything, { // force its width to 1%. adjustedTotal -= items[ row ].size; - items[ row ].size = 0.01 * total; + items[ row ].size = qint64(0.01 * total); adjustedTotal += items[ row ].size; } } diff --git a/src/modules/partition/gui/PartitionSplitterWidget.h b/src/modules/partition/gui/PartitionSplitterWidget.h index 5065a94ca..0d2d0e233 100644 --- a/src/modules/partition/gui/PartitionSplitterWidget.h +++ b/src/modules/partition/gui/PartitionSplitterWidget.h @@ -40,9 +40,10 @@ struct PartitionSplitterItem qint64 size; Status status; - QVector< PartitionSplitterItem > children; + using ChildVector = QVector< PartitionSplitterItem >; + ChildVector children; - static PartitionSplitterItem null() { return { QString(), QColor(), false, 0, Normal }; } + static PartitionSplitterItem null() { return { QString(), QColor(), false, 0, Normal, ChildVector() }; } bool isNull() const { return itemPath.isEmpty() && size == 0 && status == Normal; } operator bool() const { return !isNull(); } @@ -59,8 +60,7 @@ public: void setSplitPartition( const QString& path, qint64 minSize, qint64 maxSize, - qint64 preferredSize, - const QString& newLabel ); + qint64 preferredSize ); qint64 splitPartitionSize() const; qint64 newPartitionSize() const; diff --git a/src/modules/partition/gui/PartitionViewStep.h b/src/modules/partition/gui/PartitionViewStep.h index 7f31a3d1b..1aa8190f9 100644 --- a/src/modules/partition/gui/PartitionViewStep.h +++ b/src/modules/partition/gui/PartitionViewStep.h @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2014-2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -41,8 +42,8 @@ class PLUGINDLLEXPORT PartitionViewStep : public Calamares::ViewStep Q_OBJECT public: - explicit PartitionViewStep( QObject* parent = 0 ); - virtual ~PartitionViewStep(); + explicit PartitionViewStep( QObject* parent = nullptr ); + virtual ~PartitionViewStep() override; QString prettyName() const override; QWidget* createSummaryWidget() const override; diff --git a/src/modules/partition/gui/ReplaceWidget.cpp b/src/modules/partition/gui/ReplaceWidget.cpp index 1057127cd..f5a492809 100644 --- a/src/modules/partition/gui/ReplaceWidget.cpp +++ b/src/modules/partition/gui/ReplaceWidget.cpp @@ -347,7 +347,7 @@ ReplaceWidget::updateFromCurrentDevice( QComboBox* devicesComboBox ) QAbstractItemModel* oldModel = m_ui->partitionTreeView->model(); if ( oldModel ) - disconnect( oldModel, 0, this, 0 ); + disconnect( oldModel, nullptr, this, nullptr ); PartitionModel* model = m_core->partitionModelForDevice( device ); m_ui->partitionTreeView->setModel( model ); diff --git a/src/modules/partition/gui/ScanningDialog.cpp b/src/modules/partition/gui/ScanningDialog.cpp index 76a1bc55f..85c0cb734 100644 --- a/src/modules/partition/gui/ScanningDialog.cpp +++ b/src/modules/partition/gui/ScanningDialog.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,7 +19,7 @@ #include "ScanningDialog.h" -#include "widgets/QtWaitingSpinner.h" +#include "widgets/waitingspinnerwidget.h" #include #include @@ -37,7 +38,7 @@ ScanningDialog::ScanningDialog( const QString& text, QHBoxLayout* dialogLayout = new QHBoxLayout; setLayout( dialogLayout ); - QtWaitingSpinner* spinner = new QtWaitingSpinner; + WaitingSpinnerWidget* spinner = new WaitingSpinnerWidget(); dialogLayout->addWidget( spinner ); spinner->start(); diff --git a/src/modules/partition/jobs/CreatePartitionJob.cpp b/src/modules/partition/jobs/CreatePartitionJob.cpp index 9fc1b86a2..aab032a87 100644 --- a/src/modules/partition/jobs/CreatePartitionJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionJob.cpp @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,6 +21,7 @@ #include "jobs/CreatePartitionJob.h" #include "utils/Logger.h" +#include "utils/Units.h" // KPMcore #include @@ -47,7 +49,7 @@ CreatePartitionJob::prettyName() const { return tr( "Create new %2MB partition on %4 (%3) with file system %1." ) .arg( m_partition->fileSystem().name() ) - .arg( m_partition->capacity() / 1024 / 1024 ) + .arg( CalamaresUtils::BytesToMiB( m_partition->capacity() ) ) .arg( m_device->name() ) .arg( m_device->deviceNode() ); } @@ -59,7 +61,7 @@ CreatePartitionJob::prettyDescription() const return tr( "Create new %2MB partition on %4 " "(%3) with file system %1." ) .arg( m_partition->fileSystem().name() ) - .arg( m_partition->capacity() / 1024 / 1024 ) + .arg( CalamaresUtils::BytesToMiB( m_partition->capacity() ) ) .arg( m_device->name() ) .arg( m_device->deviceNode() ); } @@ -79,7 +81,7 @@ CreatePartitionJob::exec() int step = 0; const qreal stepCount = 4; - Report report( 0 ); + Report report( nullptr ); QString message = tr( "The installer failed to create partition on disk '%1'." ).arg( m_device->name() ); progress( step++ / stepCount ); diff --git a/src/modules/partition/jobs/CreatePartitionTableJob.cpp b/src/modules/partition/jobs/CreatePartitionTableJob.cpp index 5a0c4cd66..e4430134f 100644 --- a/src/modules/partition/jobs/CreatePartitionTableJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionTableJob.cpp @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -72,7 +73,7 @@ CreatePartitionTableJob::prettyStatusMessage() const Calamares::JobResult CreatePartitionTableJob::exec() { - Report report( 0 ); + Report report( nullptr ); QString message = tr( "The installer failed to create a partition table on %1." ).arg( m_device->name() ); CoreBackend* backend = CoreBackendManager::self()->backend(); diff --git a/src/modules/partition/jobs/DeletePartitionJob.cpp b/src/modules/partition/jobs/DeletePartitionJob.cpp index 0aafc542e..bceffd133 100644 --- a/src/modules/partition/jobs/DeletePartitionJob.cpp +++ b/src/modules/partition/jobs/DeletePartitionJob.cpp @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -63,7 +64,7 @@ DeletePartitionJob::prettyStatusMessage() const Calamares::JobResult DeletePartitionJob::exec() { - Report report( 0 ); + Report report( nullptr ); QString message = tr( "The installer failed to delete partition %1." ).arg( m_partition->devicePath() ); if ( m_device->deviceNode() != m_partition->devicePath() ) diff --git a/src/modules/partition/jobs/FillGlobalStorageJob.cpp b/src/modules/partition/jobs/FillGlobalStorageJob.cpp index 5662f5e57..443eb8b9e 100644 --- a/src/modules/partition/jobs/FillGlobalStorageJob.cpp +++ b/src/modules/partition/jobs/FillGlobalStorageJob.cpp @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -41,8 +42,6 @@ typedef QHash UuidForPartitionHash; -static const char* UUID_DIR = "/dev/disk/by-uuid"; - static UuidForPartitionHash findPartitionUuids( QList < Device* > devices ) { @@ -78,6 +77,50 @@ getLuksUuid( const QString& path ) return uuid; } +// TODO: this will be available from KPMCore soon +static const char* filesystem_labels[] = { + "unknown", + "extended", + + "ext2", + "ext3", + "ext4", + "linuxswap", + "fat16", + "fat32", + "ntfs", + "reiser", + "reiser4", + "xfs", + "jfs", + "hfs", + "hfsplus", + "ufs", + "unformatted", + "btrfs", + "hpfs", + "luks", + "ocfs2", + "zfs", + "exfat", + "nilfs2", + "lvm2 pv", + "f2fs", + "udf", + "iso9660", +}; + +Q_STATIC_ASSERT_X((sizeof(filesystem_labels) / sizeof(char *)) >= FileSystem::__lastType, "Mismatch in filesystem labels"); + +static QString +untranslatedTypeName(FileSystem::Type t) +{ + + Q_ASSERT( t >= 0 ); + Q_ASSERT( t <= FileSystem::__lastType ); + + return QLatin1String(filesystem_labels[t]); +} static QVariant mapForPartition( Partition* partition, const QString& uuid ) @@ -85,14 +128,15 @@ mapForPartition( Partition* partition, const QString& uuid ) QVariantMap map; map[ "device" ] = partition->partitionPath(); map[ "mountPoint" ] = PartitionInfo::mountPoint( partition ); - map[ "fs" ] = partition->fileSystem().name(); + map[ "fsName" ] = partition->fileSystem().name(); + map[ "fs" ] = untranslatedTypeName( partition->fileSystem().type() ); if ( partition->fileSystem().type() == FileSystem::Luks && dynamic_cast< FS::luks& >( partition->fileSystem() ).innerFS() ) map[ "fs" ] = dynamic_cast< FS::luks& >( partition->fileSystem() ).innerFS()->name(); map[ "uuid" ] = uuid; cDebug() << partition->partitionPath() << "mtpoint:" << PartitionInfo::mountPoint( partition ) - << "fs:" << map[ "fs" ] + << "fs:" << map[ "fs" ] << '(' << map[ "fsName" ] << ')' << uuid; if ( partition->roles().has( PartitionRole::Luks ) ) diff --git a/src/modules/partition/jobs/FormatPartitionJob.cpp b/src/modules/partition/jobs/FormatPartitionJob.cpp index 0ea9192db..162839ce7 100644 --- a/src/modules/partition/jobs/FormatPartitionJob.cpp +++ b/src/modules/partition/jobs/FormatPartitionJob.cpp @@ -78,7 +78,7 @@ FormatPartitionJob::prettyStatusMessage() const Calamares::JobResult FormatPartitionJob::exec() { - Report report( 0 ); + Report report( nullptr ); // Root of the report tree, no parent QString partitionPath = m_partition->partitionPath(); QString message = tr( "The installer failed to format partition %1 on disk '%2'." ).arg( partitionPath, m_device->name() ); diff --git a/src/modules/partition/jobs/MoveFileSystemJob.cpp b/src/modules/partition/jobs/MoveFileSystemJob.cpp index 9a87db91e..fbcc4641c 100644 --- a/src/modules/partition/jobs/MoveFileSystemJob.cpp +++ b/src/modules/partition/jobs/MoveFileSystemJob.cpp @@ -145,8 +145,12 @@ MoveFileSystemJob::copyBlocks( Report& report, CopyTargetDevice& target, CopySou qint64 blocksCopied = 0; - void* buffer = malloc( blockSize * source.sectorSize() ); - int percent = 0; + Q_ASSERT( blockSize > 0 ); + Q_ASSERT( source.sectorSize() > 0 ); + Q_ASSERT( blockSize * source.sectorSize() > 0 ); + + void* buffer = malloc( size_t( blockSize * source.sectorSize() ) ); + qint64 percent = 0; while ( blocksCopied < blocksToCopy ) { @@ -161,7 +165,7 @@ MoveFileSystemJob::copyBlocks( Report& report, CopyTargetDevice& target, CopySou if ( ++blocksCopied * 100 / blocksToCopy != percent ) { percent = blocksCopied * 100 / blocksToCopy; - progress( qreal( percent ) / 100. ); + progress( percent / 100. ); } } diff --git a/src/modules/partition/tests/PartitionJobTests.cpp b/src/modules/partition/tests/PartitionJobTests.cpp index 5a09bbab5..8702e0119 100644 --- a/src/modules/partition/tests/PartitionJobTests.cpp +++ b/src/modules/partition/tests/PartitionJobTests.cpp @@ -19,6 +19,8 @@ #include +#include "utils/Units.h" + #include #include #include @@ -36,9 +38,8 @@ QTEST_GUILESS_MAIN( PartitionJobTests ) -static const qint64 MB = 1024 * 1024; - using namespace Calamares; +using CalamaresUtils::operator""_MiB; class PartitionMounter { @@ -79,7 +80,7 @@ generateTestData( qint64 size ) // Fill the array explicitly to keep Valgrind happy for ( auto it = ba.data() ; it < ba.data() + size ; ++it ) { - *it = rand() % 256; + *it = char( rand() & 0xff ); } return ba; } @@ -217,7 +218,11 @@ PartitionJobTests::newCreatePartitionJob( Partition* freeSpacePartition, Partiti lastSector = firstSector + size / m_device->logicalSize(); else lastSector = freeSpacePartition->lastSector(); - FileSystem* fs = FileSystemFactory::create( type, firstSector, lastSector ); + FileSystem* fs = FileSystemFactory::create( type, firstSector, lastSector +#ifdef WITH_KPMCORE22 + ,m_device->logicalSize() +#endif + ); Partition* partition = new Partition( freeSpacePartition->parent(), @@ -243,7 +248,7 @@ PartitionJobTests::testCreatePartition() freePartition = firstFreePartition( m_device->partitionTable() ); QVERIFY( freePartition ); - job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Ext4, 1 * MB); + job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Ext4, 1_MiB); Partition* partition1 = job->partition(); QVERIFY( partition1 ); job->updatePreview(); @@ -251,7 +256,7 @@ PartitionJobTests::testCreatePartition() freePartition = firstFreePartition( m_device->partitionTable() ); QVERIFY( freePartition ); - job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::LinuxSwap, 1 * MB); + job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::LinuxSwap, 1_MiB); Partition* partition2 = job->partition(); QVERIFY( partition2 ); job->updatePreview(); @@ -259,7 +264,7 @@ PartitionJobTests::testCreatePartition() freePartition = firstFreePartition( m_device->partitionTable() ); QVERIFY( freePartition ); - job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Fat32, 1 * MB); + job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Fat32, 1_MiB); Partition* partition3 = job->partition(); QVERIFY( partition3 ); job->updatePreview(); @@ -284,7 +289,7 @@ PartitionJobTests::testCreatePartitionExtended() freePartition = firstFreePartition( m_device->partitionTable() ); QVERIFY( freePartition ); - job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Ext4, 10 * MB); + job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Ext4, 10_MiB); Partition* partition1 = job->partition(); QVERIFY( partition1 ); job->updatePreview(); @@ -292,7 +297,7 @@ PartitionJobTests::testCreatePartitionExtended() freePartition = firstFreePartition( m_device->partitionTable() ); QVERIFY( freePartition ); - job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Extended ), FileSystem::Extended, 10 * MB); + job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Extended ), FileSystem::Extended, 10_MiB); job->updatePreview(); m_queue.enqueue( job_ptr( job ) ); Partition* extendedPartition = job->partition(); @@ -337,7 +342,7 @@ PartitionJobTests::testResizePartition() QFETCH( int, newStartMB ); QFETCH( int, newSizeMB ); - const qint64 sectorForMB = MB / m_device->logicalSize(); + const qint64 sectorForMB = 1_MiB / m_device->logicalSize(); qint64 oldFirst = sectorForMB * oldStartMB; qint64 oldLast = oldFirst + sectorForMB * oldSizeMB - 1; @@ -346,7 +351,7 @@ PartitionJobTests::testResizePartition() // Make the test data file smaller than the full size of the partition to // accomodate for the file system overhead - const QByteArray testData = generateTestData( ( qMin( oldSizeMB, newSizeMB ) ) * MB * 3 / 4 ); + const QByteArray testData = generateTestData( CalamaresUtils::MiBtoBytes( qMin( oldSizeMB, newSizeMB ) ) * 3 / 4 ); const QString testName = "test.data"; // Setup: create the test partition diff --git a/src/modules/summary/SummaryPage.cpp b/src/modules/summary/SummaryPage.cpp index 6d53ba8b6..bc0864775 100644 --- a/src/modules/summary/SummaryPage.cpp +++ b/src/modules/summary/SummaryPage.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,6 +24,7 @@ #include "ExecutionViewStep.h" #include "utils/Retranslator.h" #include "utils/CalamaresUtilsGui.h" +#include "utils/Logger.h" #include "ViewManager.h" #include @@ -34,9 +36,10 @@ static const int SECTION_SPACING = 12; SummaryPage::SummaryPage( const SummaryViewStep* thisViewStep, QWidget* parent ) : QWidget() , m_thisViewStep( thisViewStep ) - , m_scrollArea( new QScrollArea( this ) ) , m_contentWidget( nullptr ) + , m_scrollArea( new QScrollArea( this ) ) { + Q_UNUSED( parent ); Q_ASSERT( m_thisViewStep ); QVBoxLayout* layout = new QVBoxLayout( this ); layout->setContentsMargins( 0, 0, 0, 0 ); @@ -63,7 +66,6 @@ SummaryPage::onActivate() { createContentWidget(); - QString text; bool first = true; const Calamares::ViewStepList steps = stepsForSummary( Calamares::ViewManager::instance()->viewSteps() ); @@ -96,6 +98,20 @@ SummaryPage::onActivate() itemBodyLayout->addSpacing( CalamaresUtils::defaultFontHeight() * 2 ); } m_layout->addStretch(); + + m_scrollArea->setWidget( m_contentWidget ); + + auto summarySize = m_contentWidget->sizeHint(); + if ( summarySize.height() > m_scrollArea->size().height() ) + { + auto enlarge = 2 + summarySize.height() - m_scrollArea->size().height(); + auto widgetSize = this->size(); + widgetSize.setHeight( widgetSize.height() + enlarge ); + + cDebug() << "Summary widget is larger than viewport, enlarge by" << enlarge << "to" << widgetSize; + + emit m_thisViewStep->enlarge( QSize( 0, enlarge ) ); // Only expand height + } } Calamares::ViewStepList @@ -133,7 +149,6 @@ SummaryPage::createContentWidget() m_contentWidget = new QWidget; m_layout = new QVBoxLayout( m_contentWidget ); CalamaresUtils::unmarginLayout( m_layout ); - m_scrollArea->setWidget( m_contentWidget ); } QLabel* diff --git a/src/modules/summary/SummaryViewStep.h b/src/modules/summary/SummaryViewStep.h index b7197b71b..e1a8df89b 100644 --- a/src/modules/summary/SummaryViewStep.h +++ b/src/modules/summary/SummaryViewStep.h @@ -34,7 +34,7 @@ class PLUGINDLLEXPORT SummaryViewStep : public Calamares::ViewStep public: explicit SummaryViewStep( QObject* parent = nullptr ); - virtual ~SummaryViewStep(); + virtual ~SummaryViewStep() override; QString prettyName() const override; diff --git a/src/modules/unpackfs/unpackfs.conf b/src/modules/unpackfs/unpackfs.conf index 34e7bc48d..9720f19a1 100644 --- a/src/modules/unpackfs/unpackfs.conf +++ b/src/modules/unpackfs/unpackfs.conf @@ -13,12 +13,26 @@ unpack: # Each list item is unpacked, in order, to the target system. # Each list item has the following attributes: # source: path relative to the live / intstalling system to the image -# sourcefs: ext4 or squashfs (may be others if mount supports is) +# sourcefs: ext4 or squashfs (may be others if mount supports it) # destination: path relative to rootMountPoint (so in the target # system) where this filesystem is unpacked. - - source: "/path/to/filesystem.img" - sourcefs: "ext4" - destination: "" - - source: "/path/to/another/filesystem.sqfs" - sourcefs: "squashfs" + +# Usually you list a filesystem image to unpack; you can use +# squashfs or an ext4 image. +# +# - source: "/path/to/filesystem.sqfs" +# sourcefs: "squashfs" +# destination: "" + +# You can list more than one filesystem. +# +# - source: "/path/to/another/filesystem.img" +# sourcefs: "ext4" +# destination: "" +# + +# You can list filesystem source paths relative to the Calamares run +# directory, if you use -d (this is only useful for testing, though). + - source: ./example.sqfs + sourcefs: squashfs destination: "" diff --git a/src/modules/users/CMakeLists.txt b/src/modules/users/CMakeLists.txt index 116da68e4..074118d54 100644 --- a/src/modules/users/CMakeLists.txt +++ b/src/modules/users/CMakeLists.txt @@ -5,7 +5,7 @@ if( ECM_FOUND ) endif() find_package( Qt5 COMPONENTS Core Test REQUIRED ) -find_package( Crypt ) +find_package( Crypt REQUIRED ) include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) diff --git a/src/modules/users/CreateUserJob.cpp b/src/modules/users/CreateUserJob.cpp index c666bd9ad..5f6843db5 100644 --- a/src/modules/users/CreateUserJob.cpp +++ b/src/modules/users/CreateUserJob.cpp @@ -115,13 +115,12 @@ CreateUserJob::exec() { QString autologinGroup; if ( gs->contains( "autologinGroup" ) && - !gs->value( "autologinGroup" ).toString().isEmpty() ) + !gs->value( "autologinGroup" ).toString().isEmpty() ) + { autologinGroup = gs->value( "autologinGroup" ).toString(); - else - autologinGroup = QStringLiteral( "autologin" ); - - CalamaresUtils::System::instance()->targetEnvCall( { "groupadd", autologinGroup } ); - defaultGroups.append( QString( ",%1" ).arg( autologinGroup ) ); + CalamaresUtils::System::instance()->targetEnvCall( { "groupadd", autologinGroup } ); + defaultGroups.append( QString( ",%1" ).arg( autologinGroup ) ); + } } // If we're looking to reuse the contents of an existing /home diff --git a/src/modules/users/SetPasswordJob.cpp b/src/modules/users/SetPasswordJob.cpp index bf3423347..d917e6d5f 100644 --- a/src/modules/users/SetPasswordJob.cpp +++ b/src/modules/users/SetPasswordJob.cpp @@ -27,7 +27,11 @@ #include #include + +#ifndef NO_CRYPT_H #include +#endif +#include SetPasswordJob::SetPasswordJob( const QString& userName, const QString& newPassword ) @@ -54,7 +58,7 @@ SetPasswordJob::prettyStatusMessage() const /// Returns a modular hashing salt for method 6 (SHA512) with a 16 character random salt. QString -SetPasswordJob::make_salt(size_t length) +SetPasswordJob::make_salt(int length) { Q_ASSERT(length >= 8); Q_ASSERT(length <= 128); @@ -73,7 +77,7 @@ SetPasswordJob::make_salt(size_t length) std::mt19937_64 twister(seed); std::uint64_t next; - size_t current_length = 0; + int current_length = 0; QString salt_string; salt_string.reserve(length + 10); diff --git a/src/modules/users/SetPasswordJob.h b/src/modules/users/SetPasswordJob.h index 45e99a57a..8a53d4941 100644 --- a/src/modules/users/SetPasswordJob.h +++ b/src/modules/users/SetPasswordJob.h @@ -33,7 +33,7 @@ public: QString prettyStatusMessage() const override; Calamares::JobResult exec() override; - static QString make_salt(size_t length); + static QString make_salt(int length); private: QString m_userName; diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 87e64deb1..453d1eae7 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2017, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Portions from the Manjaro Installation Framework * by Roland Singer @@ -37,7 +38,21 @@ #include #include +/** Add an error message and pixmap to a label. */ +static inline void +labelError( QLabel* pix, QLabel* label, const QString& message ) +{ + label->setText( message ); + pix->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, CalamaresUtils::Original, label->size() ) ); +} +/** Clear error, indicate OK on a label. */ +static inline void +labelOk( QLabel* pix, QLabel* label ) +{ + label->clear(); + pix->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, CalamaresUtils::Original, label->size() ) ); +} UsersPage::UsersPage( QWidget* parent ) : QWidget( parent ) @@ -268,29 +283,19 @@ UsersPage::validateUsernameText( const QString& textRef ) } else if ( text.length() > USERNAME_MAX_LENGTH ) { - ui->labelUsername->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelUsername->size() ) ); - ui->labelUsernameError->setText( - tr( "Your username is too long." ) ); - + labelError( ui->labelUsername, ui->labelUsernameError, + tr( "Your username is too long." ) ); m_readyUsername = false; } else if ( val.validate( text, pos ) == QValidator::Invalid ) { - ui->labelUsername->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelUsername->size() ) ); - ui->labelUsernameError->setText( - tr( "Your username contains invalid characters. Only lowercase letters and numbers are allowed." ) ); - + labelError( ui->labelUsername, ui->labelUsernameError, + tr( "Your username contains invalid characters. Only lowercase letters and numbers are allowed." ) ); m_readyUsername = false; } - else { - ui->labelUsername->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, - CalamaresUtils::Original, - ui->labelUsername->size() ) ); - ui->labelUsernameError->clear(); + else + { + labelOk( ui->labelUsername, ui->labelUsernameError ); m_readyUsername = true; } @@ -322,55 +327,38 @@ UsersPage::validateHostnameText( const QString& textRef ) } else if ( text.length() < HOSTNAME_MIN_LENGTH ) { - ui->labelHostname->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelHostname->size() ) ); - ui->labelHostnameError->setText( - tr( "Your hostname is too short." ) ); - + labelError( ui->labelHostname, ui->labelHostnameError, + tr( "Your hostname is too short." ) ); m_readyHostname = false; - } else if ( text.length() > HOSTNAME_MAX_LENGTH ) { - ui->labelHostname->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelHostname->size() ) ); - ui->labelHostnameError->setText( - tr( "Your hostname is too long." ) ); - + labelError( ui->labelHostname, ui->labelHostnameError, + tr( "Your hostname is too long." ) ); m_readyHostname = false; - } else if ( val.validate( text, pos ) == QValidator::Invalid ) { - ui->labelHostname->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelHostname->size() ) ); - ui->labelHostnameError->setText( - tr( "Your hostname contains invalid characters. Only letters, numbers and dashes are allowed." ) ); - + labelError( ui->labelHostname, ui->labelHostnameError, + tr( "Your hostname contains invalid characters. Only letters, numbers and dashes are allowed." ) ); m_readyHostname = false; } else { - ui->labelHostname->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, - CalamaresUtils::Original, - ui->labelHostname->size() ) ); - ui->labelHostnameError->clear(); + labelOk( ui->labelHostname, ui->labelHostnameError ); m_readyHostname = true; } emit checkReady( isReady() ); } - void UsersPage::onPasswordTextChanged( const QString& ) { QString pw1 = ui->textBoxUserPassword->text(); QString pw2 = ui->textBoxUserVerifiedPassword->text(); + // TODO: 3.3: remove empty-check and leave it to passwordRequirements if ( pw1.isEmpty() && pw2.isEmpty() ) { ui->labelUserPasswordError->clear(); @@ -379,31 +367,42 @@ UsersPage::onPasswordTextChanged( const QString& ) } else if ( pw1 != pw2 ) { - ui->labelUserPasswordError->setText( tr( "Your passwords do not match!" ) ); - ui->labelUserPassword->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelUserPassword->size() ) ); + labelError( ui->labelUserPassword, ui->labelUserPasswordError, + tr( "Your passwords do not match!" ) ); m_readyPassword = false; } else { - ui->labelUserPasswordError->clear(); - ui->labelUserPassword->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, - CalamaresUtils::Original, - ui->labelUserPassword->size() ) ); - m_readyPassword = true; + bool ok = true; + for ( auto pc : m_passwordChecks ) + { + QString s = pc.filter( pw1 ); + if ( !s.isEmpty() ) + { + labelError( ui->labelUserPassword, ui->labelUserPasswordError, s ); + ok = false; + m_readyPassword = false; + break; + } + } + + if ( ok ) + { + labelOk( ui->labelUserPassword, ui->labelUserPasswordError ); + m_readyPassword = true; + } } emit checkReady( isReady() ); } - void UsersPage::onRootPasswordTextChanged( const QString& ) { QString pw1 = ui->textBoxRootPassword->text(); QString pw2 = ui->textBoxVerifiedRootPassword->text(); + // TODO: 3.3: remove empty-check and leave it to passwordRequirements if ( pw1.isEmpty() && pw2.isEmpty() ) { ui->labelRootPasswordError->clear(); @@ -412,19 +411,30 @@ UsersPage::onRootPasswordTextChanged( const QString& ) } else if ( pw1 != pw2 ) { - ui->labelRootPasswordError->setText( tr( "Your passwords do not match!" ) ); - ui->labelRootPassword->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelRootPassword->size() ) ); + labelError( ui->labelRootPassword, ui->labelRootPasswordError, + tr( "Your passwords do not match!" ) ); m_readyRootPassword = false; } else { - ui->labelRootPasswordError->clear(); - ui->labelRootPassword->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, - CalamaresUtils::Original, - ui->labelRootPassword->size() ) ); - m_readyRootPassword = true; + bool ok = true; + for ( auto pc : m_passwordChecks ) + { + QString s = pc.filter( pw1 ); + if ( !s.isEmpty() ) + { + labelError( ui->labelRootPassword, ui->labelRootPasswordError, s ); + ok = false; + m_readyRootPassword = false; + break; + } + } + + if ( ok ) + { + labelOk( ui->labelRootPassword, ui->labelRootPasswordError ); + m_readyRootPassword = true; + } } emit checkReady( isReady() ); @@ -444,3 +454,69 @@ UsersPage::setReusePasswordDefault( bool checked ) ui->checkBoxReusePassword->setChecked( checked ); emit checkReady( isReady() ); } + +UsersPage::PasswordCheck::PasswordCheck() + : m_message() + , m_accept( []( const QString& s ) +{ + return true; +} ) +{ +} + +UsersPage::PasswordCheck::PasswordCheck( const QString& m, AcceptFunc a ) + : m_message( [m](){ return m; } ) + , m_accept( a ) +{ +} + +UsersPage::PasswordCheck::PasswordCheck( MessageFunc m, AcceptFunc a ) + : m_message( m ) + , m_accept( a ) +{ +} + +void +UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) +{ + if ( key == "minLength" ) + { + int minLength = -1; + if ( value.canConvert( QVariant::Int ) ) + minLength = value.toInt(); + if ( minLength > 0 ) + { + cDebug() << key << " .. set to" << minLength; + m_passwordChecks.push_back( + PasswordCheck( + []() + { + return tr( "Password is too short" ); + }, + [minLength]( const QString& s ) + { + return s.length() >= minLength; + } ) ); + } + } + else if ( key == "maxLength" ) + { + int maxLength = -1; + if ( value.canConvert( QVariant::Int ) ) + maxLength = value.toInt(); + if ( maxLength > 0 ) + { + cDebug() << key << " .. set to" << maxLength; + m_passwordChecks.push_back( + PasswordCheck( []() + { + return tr( "Password is too long" ); + }, [maxLength]( const QString& s ) + { + return s.length() <= maxLength; + } ) ); + } + } + else + cDebug() << "WARNING: Unknown password-check key" << '"' << key << '"'; +} diff --git a/src/modules/users/UsersPage.h b/src/modules/users/UsersPage.h index 0f328f46c..5a72e11de 100644 --- a/src/modules/users/UsersPage.h +++ b/src/modules/users/UsersPage.h @@ -28,7 +28,10 @@ #include -namespace Ui { +#include + +namespace Ui +{ class Page_UserSetup; } @@ -49,6 +52,8 @@ public: void setAutologinDefault( bool checked ); void setReusePasswordDefault( bool checked ); + void addPasswordCheck( const QString& key, const QVariant& value ); + protected slots: void onFullNameTextEdited( const QString& ); void fillSuggestions(); @@ -65,6 +70,42 @@ signals: private: Ui::Page_UserSetup* ui; + /** + * Support for (dynamic) checks on the password's validity. + * This can be used to implement password requirements like + * "at least 6 characters". Function addPasswordCheck() + * instantiates these and adds them to the list of checks. + */ + class PasswordCheck + { + public: + /** Return true if the string is acceptable. */ + using AcceptFunc = std::function; + using MessageFunc = std::function; + + /** Generate a @p message if @p filter returns true */ + PasswordCheck( MessageFunc message, AcceptFunc filter ); + /** Yields @p message if @p filter returns true */ + PasswordCheck( const QString& message, AcceptFunc filter ); + /** Null check, always returns empty */ + PasswordCheck(); + + /** Applies this check to the given password string @p s + * and returns an empty string if the password is ok + * according to this filter. Returns a message describing + * what is wrong if not. + */ + QString filter( const QString& s ) const + { + return m_accept( s ) ? QString() : m_message(); + } + + private: + MessageFunc m_message; + AcceptFunc m_accept; + } ; + QVector m_passwordChecks; + const QRegExp USERNAME_RX = QRegExp( "^[a-z_][a-z0-9_-]*[$]?$" ); const QRegExp HOSTNAME_RX = QRegExp( "^[a-zA-Z0-9][-a-zA-Z0-9_]*$" ); const int USERNAME_MAX_LENGTH = 31; diff --git a/src/modules/users/UsersViewStep.cpp b/src/modules/users/UsersViewStep.cpp index d601014ae..73dc98ddc 100644 --- a/src/modules/users/UsersViewStep.cpp +++ b/src/modules/users/UsersViewStep.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,6 +21,7 @@ #include "UsersPage.h" +#include "utils/Logger.h" #include "JobQueue.h" #include "GlobalStorage.h" @@ -159,11 +161,23 @@ UsersViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { m_widget->setAutologinDefault( configurationMap.value( "doAutologin" ).toBool() ); } - + if ( configurationMap.contains( "doReusePassword" ) && configurationMap.value( "doReusePassword" ).type() == QVariant::Bool ) { m_widget->setReusePasswordDefault( configurationMap.value( "doReusePassword" ).toBool() ); } + + if ( configurationMap.contains( "passwordRequirements" ) && + configurationMap.value( "passwordRequirements" ).type() == QVariant::Map ) + { + auto pr_checks( configurationMap.value( "passwordRequirements" ).toMap() ); + + for (decltype(pr_checks)::const_iterator i = pr_checks.constBegin(); + i != pr_checks.constEnd(); ++i) + { + m_widget->addPasswordCheck( i.key(), i.value() ); + } + } } diff --git a/src/modules/users/UsersViewStep.h b/src/modules/users/UsersViewStep.h index ea5d9101b..a529ad4ea 100644 --- a/src/modules/users/UsersViewStep.h +++ b/src/modules/users/UsersViewStep.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,7 +37,7 @@ class PLUGINDLLEXPORT UsersViewStep : public Calamares::ViewStep public: explicit UsersViewStep( QObject* parent = nullptr ); - virtual ~UsersViewStep(); + virtual ~UsersViewStep() override; QString prettyName() const override; diff --git a/src/modules/users/users.conf b/src/modules/users/users.conf index dea0ba999..d5466c62f 100644 --- a/src/modules/users/users.conf +++ b/src/modules/users/users.conf @@ -27,3 +27,17 @@ sudoersGroup: wheel setRootPassword: true doReusePassword: true + +# These are optional password-requirements that a distro can enforce +# on the user. The values given in this sample file disable each check, +# as if the check was not listed at all. +# +# Checks may be listed multiple times; each is checked separately, +# and no effort is done to ensure that the checks are consistent +# (e.g. specifying a maximum length less than the minimum length +# will annoy users). +# +# (additional checks may be implemented in UsersPage.cpp) +passwordRequirements: + minLength: -1 # Password at least this many characters + maxLength: -1 # Password at most this many characters diff --git a/src/modules/webview/WebViewStep.h b/src/modules/webview/WebViewStep.h index 9d8405a97..105eea4b3 100644 --- a/src/modules/webview/WebViewStep.h +++ b/src/modules/webview/WebViewStep.h @@ -2,6 +2,7 @@ * * Copyright 2015, Rohan Garg * Copyright 2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -43,7 +44,7 @@ class PLUGINDLLEXPORT WebViewStep : public Calamares::ViewStep public: explicit WebViewStep( QObject* parent = nullptr ); - virtual ~WebViewStep(); + virtual ~WebViewStep() override; QString prettyName() const override; diff --git a/src/modules/welcome/CMakeLists.txt b/src/modules/welcome/CMakeLists.txt index f901a768e..f73d8850d 100644 --- a/src/modules/welcome/CMakeLists.txt +++ b/src/modules/welcome/CMakeLists.txt @@ -5,8 +5,6 @@ find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED DBus Network ) include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) -set_source_files_properties( checker/partman_devices.c PROPERTIES LANGUAGE CXX ) - set( CHECKER_SOURCES checker/CheckItemWidget.cpp checker/CheckerWidget.cpp diff --git a/src/modules/welcome/WelcomeViewStep.h b/src/modules/welcome/WelcomeViewStep.h index db33a89bd..fbcbd8ded 100644 --- a/src/modules/welcome/WelcomeViewStep.h +++ b/src/modules/welcome/WelcomeViewStep.h @@ -37,7 +37,7 @@ class PLUGINDLLEXPORT WelcomeViewStep : public Calamares::ViewStep public: explicit WelcomeViewStep( QObject* parent = nullptr ); - virtual ~WelcomeViewStep(); + virtual ~WelcomeViewStep() override; QString prettyName() const override; diff --git a/src/modules/welcome/checker/RequirementsChecker.cpp b/src/modules/welcome/checker/RequirementsChecker.cpp index 29112de84..3d4e394c4 100644 --- a/src/modules/welcome/checker/RequirementsChecker.cpp +++ b/src/modules/welcome/checker/RequirementsChecker.cpp @@ -27,6 +27,8 @@ #include "utils/Logger.h" #include "utils/Retranslator.h" #include "utils/CalamaresUtilsSystem.h" +#include "utils/Units.h" + #include "JobQueue.h" #include "GlobalStorage.h" @@ -51,9 +53,10 @@ RequirementsChecker::RequirementsChecker( QObject* parent ) : QObject( parent ) , m_widget( new QWidget() ) + , m_requiredStorageGB( -1 ) + , m_requiredRamGB( -1 ) , m_actualWidget( new CheckerWidget() ) , m_verdict( false ) - , m_requiredStorageGB( -1 ) { QBoxLayout* mainLayout = new QHBoxLayout; m_widget->setLayout( mainLayout ); @@ -77,12 +80,12 @@ RequirementsChecker::RequirementsChecker( QObject* parent ) bool isRoot = false; bool enoughScreen = (availableSize.width() >= CalamaresUtils::windowPreferredWidth) && (availableSize.height() >= CalamaresUtils::windowPreferredHeight); - qint64 requiredStorageB = m_requiredStorageGB * 1073741824L; /*powers of 2*/ + qint64 requiredStorageB = CalamaresUtils::GiBtoBytes(m_requiredStorageGB); cDebug() << "Need at least storage bytes:" << requiredStorageB; if ( m_entriesToCheck.contains( "storage" ) ) enoughStorage = checkEnoughStorage( requiredStorageB ); - qint64 requiredRamB = m_requiredRamGB * 1073741824L; /*powers of 2*/ + qint64 requiredRamB = CalamaresUtils::GiBtoBytes(m_requiredRamGB); cDebug() << "Need at least ram bytes:" << requiredRamB; if ( m_entriesToCheck.contains( "ram" ) ) enoughRam = checkEnoughRam( requiredRamB ); @@ -307,9 +310,9 @@ RequirementsChecker::checkEnoughStorage( qint64 requiredSpace ) bool RequirementsChecker::checkEnoughRam( qint64 requiredRam ) { - qint64 availableRam = CalamaresUtils::System::instance()->getPhysicalMemoryB(); - if ( !availableRam ) - availableRam = CalamaresUtils::System::instance()->getTotalMemoryB(); + // Ignore the guesstimate-factor; we get an under-estimate + // which is probably the usable RAM for programs. + quint64 availableRam = CalamaresUtils::System::instance()->getTotalMemoryB().first; return availableRam >= requiredRam * 0.95; // because MemTotal is variable } @@ -354,7 +357,7 @@ RequirementsChecker::checkHasPower() QDBusInterface upowerIntf( UPOWER_SVC_NAME, UPOWER_PATH, UPOWER_INTF_NAME, - QDBusConnection::systemBus(), 0 ); + QDBusConnection::systemBus() ); bool onBattery = upowerIntf.property( "OnBattery" ).toBool(); diff --git a/src/modules/welcome/checker/partman_devices.c b/src/modules/welcome/checker/partman_devices.c index d417f3c0f..2cc97557a 100644 --- a/src/modules/welcome/checker/partman_devices.c +++ b/src/modules/welcome/checker/partman_devices.c @@ -112,7 +112,7 @@ process_device(PedDevice *dev) int check_big_enough(long long required_space) { - PedDevice *dev; + PedDevice *dev = NULL; ped_exception_fetch_all(); ped_device_probe_all(); @@ -126,7 +126,15 @@ check_big_enough(long long required_space) break; } } - ped_device_free_all(); + + // We would free the devices to release allocated memory, + // but other modules might be using partman use well, + // and they can hold pointers to libparted structures in + // other threads. + // + // So prefer to leak memory, instead. + // + // ped_device_free_all(); return big_enough; } diff --git a/src/modules/welcome/checker/partman_devices.h b/src/modules/welcome/checker/partman_devices.h index 8bc19e58b..8bf620a48 100644 --- a/src/modules/welcome/checker/partman_devices.h +++ b/src/modules/welcome/checker/partman_devices.h @@ -19,6 +19,14 @@ #ifndef PARTMAN_DEVICES_H #define PARTMAN_DEVICES_H +#ifdef __cplusplus +extern "C" { +#endif + int check_big_enough(long long required_space); +#ifdef __cplusplus +} // extern "C" +#endif + #endif // PARTMAN_DEVICES_H diff --git a/src/qml/calamares/slideshow/Presentation.qml b/src/qml/calamares/slideshow/Presentation.qml index 59878c644..b53b9fc55 100644 --- a/src/qml/calamares/slideshow/Presentation.qml +++ b/src/qml/calamares/slideshow/Presentation.qml @@ -1,29 +1,16 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * - * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot + * - added looping, keys-instead-of-shortcut * - * Based on the QML Presentation System. - * Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). - * Header reproduced verbatim below. - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . + * SPDX-License-Identifier: LGPL-2.1 + * License-Filename: LICENSES/LGPLv2.1-Presentation */ /**************************************************************************** ** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QML Presentation System. ** @@ -62,18 +49,20 @@ ****************************************************************************/ -import QtQuick 2.0 +import QtQuick 2.5 import QtQuick.Window 2.0 Item { id: root property variant slides: [] - property int currentSlide; + property int currentSlide: 0 property bool showNotes: false; property bool allowDelay: true; - property bool loop: true; + property alias mouseNavigation: mouseArea.enabled + property bool arrowNavigation: true + property bool keyShortcutsEnabled: true property color titleColor: textColor; property color textColor: "black" @@ -83,6 +72,7 @@ Item { // Private API property bool _faded: false property int _userNum; + property int _lastShownSlide: 0 Component.onCompleted: { var slideCount = 0; @@ -98,10 +88,8 @@ Item { root._userNum = 0; // Make first slide visible... - if (root.slides.length > 0) { - root.currentSlide = 0; + if (root.slides.length > 0) root.slides[root.currentSlide].visible = true; - } } function switchSlides(from, to, forward) { @@ -110,6 +98,13 @@ Item { return true } + onCurrentSlideChanged: { + switchSlides(root.slides[_lastShownSlide], root.slides[currentSlide], currentSlide > _lastShownSlide) + _lastShownSlide = currentSlide + // Always keep focus on the slideshow + root.focus = true + } + function goToNextSlide() { root._userNum = 0 if (_faded) @@ -118,38 +113,18 @@ Item { if (root.slides[currentSlide]._advance()) return; } - if (root.currentSlide + 1 < root.slides.length) { - var from = slides[currentSlide] - var to = slides[currentSlide + 1] - if (switchSlides(from, to, true)) { - currentSlide = currentSlide + 1; - root.focus = true; - } - } - else { - if (root.loop) { - var from = slides[currentSlide] - var to = slides[0] - if (switchSlides(from, to, true)) { - currentSlide = 0; - root.focus = true; - } - } - } + if (currentSlide + 1 < root.slides.length) + ++currentSlide; + else + currentSlide = 0; // Loop at the end } function goToPreviousSlide() { root._userNum = 0 if (root._faded) return - if (root.currentSlide - 1 >= 0) { - var from = slides[currentSlide] - var to = slides[currentSlide - 1] - if (switchSlides(from, to, false)) { - currentSlide = currentSlide - 1; - root.focus = true; - } - } + if (currentSlide - 1 >= 0) + --currentSlide; } function goToUserSlide() { @@ -158,38 +133,45 @@ Item { return if (_userNum < 0) goToNextSlide() - else if (root.currentSlide != _userNum) { - var from = slides[currentSlide] - var to = slides[_userNum] - if (switchSlides(from, to, _userNum > currentSlide)) { - currentSlide = _userNum; - root.focus = true; - } + else { + currentSlide = _userNum; + root.focus = true; } } - focus: true - - Keys.onSpacePressed: goToNextSlide() - Keys.onRightPressed: goToNextSlide() - Keys.onDownPressed: goToNextSlide() - Keys.onLeftPressed: goToPreviousSlide() - Keys.onUpPressed: goToPreviousSlide() - Keys.onEscapePressed: Qt.quit() + // directly type in the slide number: depends on root having focus Keys.onPressed: { if (event.key >= Qt.Key_0 && event.key <= Qt.Key_9) _userNum = 10 * _userNum + (event.key - Qt.Key_0) else { if (event.key == Qt.Key_Return || event.key == Qt.Key_Enter) goToUserSlide(); - else if (event.key == Qt.Key_Backspace) - goToPreviousSlide(); - else if (event.key == Qt.Key_C) - root._faded = !root._faded; _userNum = 0; } } + focus: true // Keep focus + + // Navigation through key events, too + Keys.onSpacePressed: goToNextSlide() + Keys.onRightPressed: goToNextSlide() + Keys.onLeftPressed: goToPreviousSlide() + + // navigate with arrow keys + Shortcut { sequence: StandardKey.MoveToNextLine; enabled: root.arrowNavigation; onActivated: goToNextSlide() } + Shortcut { sequence: StandardKey.MoveToPreviousLine; enabled: root.arrowNavigation; onActivated: goToPreviousSlide() } + Shortcut { sequence: StandardKey.MoveToNextChar; enabled: root.arrowNavigation; onActivated: goToNextSlide() } + Shortcut { sequence: StandardKey.MoveToPreviousChar; enabled: root.arrowNavigation; onActivated: goToPreviousSlide() } + + // presentation-specific single-key shortcuts (which interfere with normal typing) + Shortcut { sequence: " "; enabled: root.keyShortcutsEnabled; onActivated: goToNextSlide() } + Shortcut { sequence: "c"; enabled: root.keyShortcutsEnabled; onActivated: root._faded = !root._faded } + + // standard shortcuts + Shortcut { sequence: StandardKey.MoveToNextPage; onActivated: goToNextSlide() } + Shortcut { sequence: StandardKey.MoveToPreviousPage; onActivated: goToPreviousSlide() } + Shortcut { sequence: StandardKey.Quit; onActivated: Qt.quit() } + Rectangle { z: 1000 color: "black" @@ -219,16 +201,61 @@ Item { title: "QML Presentation: Notes" visible: root.showNotes - Text { + Flickable { anchors.fill: parent - anchors.margins: parent.height * 0.1; + contentWidth: parent.width + contentHeight: textContainer.height - font.pixelSize: 16 - wrapMode: Text.WordWrap + Item { + id: textContainer + width: parent.width + height: notesText.height + 2 * notesText.padding - property string notes: root.slides[root.currentSlide].notes; - text: notes == "" ? "Slide has no notes..." : notes; - font.italic: notes == ""; + Text { + id: notesText + + property real padding: 16; + + x: padding + y: padding + width: parent.width - 2 * padding + + + font.pixelSize: 16 + wrapMode: Text.WordWrap + + property string notes: root.slides[root.currentSlide].notes; + + onNotesChanged: { + var result = ""; + + var lines = notes.split("\n"); + var beginNewLine = false + for (var i=0; i 0) + result += " "; + result += line; + } + } + + if (result.length == 0) { + font.italic = true; + text = "no notes.." + } else { + font.italic = false; + text = result; + } + } + } + } } } } diff --git a/src/qml/calamares/slideshow/Slide.qml b/src/qml/calamares/slideshow/Slide.qml index e46b5687d..e033e3c17 100644 --- a/src/qml/calamares/slideshow/Slide.qml +++ b/src/qml/calamares/slideshow/Slide.qml @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: LGPL-2.1 + * License-Filename: LICENSES/LGPLv2.1-Presentation + */ + /**************************************************************************** ** ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). @@ -167,20 +173,19 @@ Item { Rectangle { id: dot - y: baseFontSize * row.indentFactor / 2 - width: baseFontSize / 4 - height: baseFontSize / 4 + anchors.baseline: text.baseline + anchors.baselineOffset: -text.font.pixelSize / 2 + width: text.font.pixelSize / 3 + height: text.font.pixelSize / 3 color: slide.textColor radius: width / 2 - smooth: true opacity: text.text.length == 0 ? 0 : 1 } - Rectangle { + Item { id: space - width: dot.width * 2 + width: dot.width * 1.5 height: 1 - color: "#00ffffff" } Text { diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt deleted file mode 100644 index 77b4897a5..000000000 --- a/thirdparty/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) - # Suppress warnings entirely; not interesting in third-party code - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w" ) -endif() - -if( WITH_CRASHREPORTER ) - macro( qt_wrap_ui ) - qt5_wrap_ui( ${ARGN} ) - endmacro() - add_subdirectory( libcrashreporter-qt ) -endif() diff --git a/thirdparty/libcrashreporter-qt b/thirdparty/libcrashreporter-qt deleted file mode 160000 index 61dc3963c..000000000 --- a/thirdparty/libcrashreporter-qt +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 61dc3963c2b59894e7d3f3bd758c43b59665054a