Remove PythonQt support

Nothing beyond the example module was ever built with the
PythonQt bindings, as far as I can tell. They have been
deprecated, defaulting OFF for over two years now.

QML modules fill the gap with customizable, run-time
interpreted UI and stronger support from the C++ side
of Calamares.
This commit is contained in:
Adriaan de Groot 2021-09-28 23:49:08 +02:00
parent c1e1e6c3a4
commit ca4dbabf70
90 changed files with 4 additions and 4378 deletions

View File

@ -25,7 +25,6 @@
# CMake once. These affect the ABI offered by Calamares.
# - PYTHON (enable Python Job modules)
# - QML (enable QML UI View modules)
# - PYTHONQT # TODO:3.3: remove
# BUILD_<foo> : choose additional things to build
# - TESTING (standard CMake option)
# - SCHEMA_TESTING (requires Python, see ci/configvalidator.py)
@ -66,7 +65,6 @@ option( WITH_KF5Crash "Enable crash reporting with KCrash." ON ) # TODO:3.3: WI
# When adding WITH_* that affects the ABI offered by libcalamares,
# also update libcalamares/CalamaresConfig.h.in
option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON )
option( WITH_PYTHONQT "Enable Python view modules API (deprecated, requires PythonQt)." OFF ) # TODO:3.3: remove
option( WITH_QML "Enable QML UI options." ON )
#
# Additional parts to build
@ -397,29 +395,17 @@ if ( PYTHONLIBS_FOUND )
Boost PROPERTIES
PURPOSE "Boost.Python is used for Python job modules."
)
# TODO:3.3: Remove PythonQt support
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()
if( NOT PYTHONLIBS_FOUND OR NOT CALAMARES_BOOST_PYTHON3_FOUND )
message(STATUS "Disabling Boost::Python modules")
set( WITH_PYTHON OFF )
endif()
if( NOT PYTHONLIBS_FOUND OR NOT PYTHONQT_FOUND )
message(STATUS "Disabling PythonQt modules")
set( WITH_PYTHONQT OFF )
endif()
# Now we know the state of the ABI-options, copy them into "Calamares_"
# prefixed variables, to match how the variables would-be-named
# when building out-of-tree.
set(Calamares_WITH_PYTHON ${WITH_PYTHON})
set(Calamares_WITH_PYTHONQT ${WITH_PYTHONQT})
set(Calamares_WITH_QML ${WITH_QML})
### Transifex Translation status
@ -573,7 +559,6 @@ set( Calamares_LIBRARIES calamares )
add_subdirectory( src )
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")
add_feature_info(KCrash ${WITH_KF5Crash} "Crash dumps via KCrash")

View File

@ -121,7 +121,8 @@ function( _calamares_add_module_subdirectory_impl )
# _mod_testing boolean if the module should be added to the loadmodule tests
file(STRINGS "${_mod_dir}/module.desc" MODULE_INTERFACE REGEX "^interface")
if ( MODULE_INTERFACE MATCHES "pythonqt" )
set( _mod_enabled ${Calamares_WITH_PYTHONQT} )
message( FATAL_ERROR "PythonQt is no longer supported" )
set( _mod_enabled OFF )
set( _mod_reason "No PythonQt support" )
set( _mod_testing OFF )
elseif ( MODULE_INTERFACE MATCHES "python" )

View File

@ -1,185 +0,0 @@
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
###
#
# Find PythonQt
#
# Sets PYTHONQT_FOUND, PYTHONQT_INCLUDE_DIR, PYTHONQT_LIBRARY, PYTHONQT_LIBRARIES
#
# Also sets PYTHONQT_INCLUDE_DIRS to add whatever directories
# that are needed for extensions.
#
# Python is required
find_package(PythonLibs)
if(NOT PYTHONLIBS_FOUND)
message(FATAL_ERROR "error: Python is required to build PythonQt")
endif()
# Cut X.Y[.Z] down to just X.Y
string(REGEX REPLACE
"^([0-9][0-9]*)\.([0-9][0-9]*)"
"\\1.\\2@"
_PYTHONLIBS_MAJMIN
${PYTHONLIBS_VERSION_STRING}
)
string(REGEX REPLACE
"@.*"
""
PYTHONLIBS_MAJMIN
${_PYTHONLIBS_MAJMIN}
)
if(NOT EXISTS "${PYTHONQT_INSTALL_DIR}")
find_path(PYTHONQT_INSTALL_DIR
NAMES
include/PythonQt/PythonQt.h
include/PythonQt5/PythonQt.h
DOC "Directory where PythonQt was installed.")
endif()
# XXX Since PythonQt 3.0 is not yet cmakeified, depending
# on how PythonQt is built, headers will not always be
# installed in "include/PythonQt". That is why "src"
# is added as an option. See [1] for more details.
# [1] https://github.com/commontk/CTK/pull/538#issuecomment-86106367
find_path(PYTHONQT_INCLUDE_DIR PythonQt.h
PATHS
"${PYTHONQT_INSTALL_DIR}/include/PythonQt"
"${PYTHONQT_INSTALL_DIR}/include/PythonQt5"
"${PYTHONQT_INSTALL_DIR}/src"
DOC "Path to the PythonQt include directory")
find_path(PYTHONQT_ALL_INCLUDE_DIR PythonQt_QtAll.h
PATHS
"${PYTHONQT_INCLUDE_DIR}"
"${PYTHONQT_INSTALL_DIR}"
PATH_SUFFIXES
"extensions/PythonQt_QtAll"
"src"
DOC "Path to the PythonQt 'all' header")
if ( NOT PythonQt_FIND_QUIETLY )
message( STATUS "Searching for PythonQt (PythonLibs ${PYTHONLIBS_MAJMIN}) .." )
if ( PYTHONQT_INCLUDE_DIR )
message( STATUS " .. found include ${PYTHONQT_INCLUDE_DIR}" )
message( STATUS " .. found all include ${PYTHONQT_ALL_INCLUDE_DIR}" )
endif()
endif()
# Minimum v3.1 is needed
find_library(PYTHONQT_LIBRARY_RELEASE
NAMES
PythonQt-Qt5-Python${PYTHONLIBS_MAJMIN}
PythonQt-Qt5-Python3
PythonQt
PATHS "${PYTHONQT_INSTALL_DIR}/lib"
DOC "The PythonQt library."
)
find_library(PYTHONQT_LIBRARY_DEBUG
NAMES
PythonQt-Qt5-Python${PYTHONLIBS_MAJMIN}JMIN${CTK_CMAKE_DEBUG_POSTFIX}
PythonQt-Qt5-Python${PYTHONLIBS_MAJMIN}${CMAKE_DEBUG_POSTFIX}
PythonQt-Qt5-Python${PYTHONLIBS_MAJMIN}
PythonQt-Qt5-Python3${CTK_CMAKE_DEBUG_POSTFIX}
PythonQt-Qt5-Python3${CMAKE_DEBUG_POSTFIX}
PythonQt-Qt5-Python3
PythonQt${CTK_CMAKE_DEBUG_POSTFIX}
PythonQt${CMAKE_DEBUG_POSTFIX}
PythonQt
PATHS "${PYTHONQT_INSTALL_DIR}/lib"
DOC "The PythonQt library (debug build)."
)
find_library(PYTHONQT_QTALL_LIBRARY_RELEASE
NAMES
PythonQt_QtAll-Qt5-Python${PYTHONLIBS_MAJMIN}
PythonQt_QtAll-Qt5-Python3
PythonQt_QtAll
PATHS "${PYTHONQT_INSTALL_DIR}/lib"
DOC "Full Qt bindings for the PythonQt library."
)
find_library(PYTHONQT_QTALL_LIBRARY_DEBUG
NAMES
PythonQt_QtAll-Qt5-Python${PYTHONLIBS_MAJMIN}${CTK_CMAKE_DEBUG_POSTFIX}
PythonQt_QtAll-Qt5-Python${PYTHONLIBS_MAJMIN}${CMAKE_DEBUG_POSTFIX}
PythonQt_QtAll-Qt5-Python${PYTHONLIBS_MAJMIN}
PythonQt_QtAll-Qt5-Python3${CTK_CMAKE_DEBUG_POSTFIX}
PythonQt_QtAll-Qt5-Python3${CMAKE_DEBUG_POSTFIX}
PythonQt_QtAll-Qt5-Python3
PythonQt_QtAll${CTK_CMAKE_DEBUG_POSTFIX}
PythonQt_QtAll${CMAKE_DEBUG_POSTFIX}
PythonQt_QtAll
PATHS "${PYTHONQT_INSTALL_DIR}/lib"
DOC "Full Qt bindings for the PythonQt library (debug build)."
)
set(PYTHONQT_LIBRARY)
if(PYTHONQT_LIBRARY_RELEASE)
list(APPEND PYTHONQT_LIBRARY optimized ${PYTHONQT_LIBRARY_RELEASE})
endif()
if(PYTHONQT_LIBRARY_DEBUG)
list(APPEND PYTHONQT_LIBRARY debug ${PYTHONQT_LIBRARY_DEBUG})
endif()
set(PYTHONQT_QTALL_LIBRARY)
if(PYTHONQT_QTALL_LIBRARY_RELEASE)
list(APPEND PYTHONQT_QTALL_LIBRARY optimized ${PYTHONQT_QTALL_LIBRARY_RELEASE})
endif()
if(PYTHONQT_QTALL_LIBRARY_DEBUG)
list(APPEND PYTHONQT_QTALL_LIBRARY debug ${PYTHONQT_QTALL_LIBRARY_DEBUG})
endif()
if ( NOT PythonQt_FIND_QUIETLY )
if ( PYTHONQT_LIBRARY )
message( STATUS " .. found library ${PYTHONQT_LIBRARY}" )
endif()
if ( PYTHONQT_QTALL_LIBRARY )
message( STATUS " .. found qtall ${PYTHONQT_QTALL_LIBRARY}" )
endif()
endif()
mark_as_advanced(PYTHONQT_INSTALL_DIR)
mark_as_advanced(PYTHONQT_INCLUDE_DIR)
mark_as_advanced(PYTHONQT_LIBRARY_RELEASE)
mark_as_advanced(PYTHONQT_LIBRARY_DEBUG)
mark_as_advanced(PYTHONQT_QTALL_LIBRARY_RELEASE)
mark_as_advanced(PYTHONQT_QTALL_LIBRARY_DEBUG)
# On linux, also find libutil
if(UNIX AND NOT APPLE)
find_library(PYTHONQT_LIBUTIL util)
mark_as_advanced(PYTHONQT_LIBUTIL)
endif()
# All upper case _FOUND variable is maintained for backwards compatibility.
set(PYTHONQT_FOUND 0)
set(PythonQt_FOUND 0)
if(PYTHONQT_INCLUDE_DIR AND PYTHONQT_LIBRARY AND PYTHONQT_QTALL_LIBRARY)
# Currently CMake'ified PythonQt only supports building against a python Release build.
# This applies independently of CTK build type (Release, Debug, ...)
add_definitions(-DPYTHONQT_USE_RELEASE_PYTHON_FALLBACK)
set(PYTHONQT_FOUND 1)
set(PythonQt_FOUND ${PYTHONQT_FOUND})
set(PYTHONQT_LIBRARIES ${PYTHONQT_LIBRARY} ${PYTHONQT_LIBUTIL} ${PYTHONQT_QTALL_LIBRARY})
set(PYTHONQT_INCLUDE_DIRS ${PYTHONQT_INCLUDE_DIR})
if(PYTHONQT_ALL_INCLUDE_DIR)
list(APPEND PYTHONQT_INCLUDE_DIRS ${PYTHONQT_ALL_INCLUDE_DIR})
endif()
elseif(NOT PythonQt_FIND_QUIETLY)
set(_missing "")
if (NOT PYTHONQT_INCLUDE_DIR)
list(APPEND _missing "includes")
endif()
if (NOT PYTHONQT_LIBRARY)
list(APPEND _missing "library")
endif()
if (NOT PYTHONQT_QTALL_LIBRARY)
list(APPEND _missing "qtall")
endif()
message(STATUS "PythonQt not found, missing components ${_missing}")
endif()

View File

@ -86,7 +86,6 @@ Main:
* KDE extra-cmake-modules >= 5.18 (recommended; required for some modules;
required for some tests)
* KDE Frameworks KCoreAddons (>= 5.58 recommended)
* PythonQt (optional, deprecated)
Individual modules may have their own requirements;
these are listed in CMake output.

View File

@ -87,5 +87,4 @@ include(CalamaresAddPlugin)
# This list should match the one in libcalamares/CalamaresConfig.h,
# which is the C++-language side of the same configuration.
set(Calamares_WITH_PYTHON @WITH_PYTHON@)
set(Calamares_WITH_PYTHONQT @WITH_PYTHONQT@)
set(Calamares_WITH_QML @WITH_QML@)

View File

@ -23,13 +23,6 @@
#include "utils/Paste.h"
#include "utils/Retranslator.h"
#ifdef WITH_PYTHONQT
#include "ViewManager.h"
#include "viewpages/PythonQtViewStep.h"
#include <gui/PythonQtScriptingConsole.h>
#endif
#include <QSplitter>
#include <QStringListModel>
#include <QTreeView>
@ -110,73 +103,10 @@ DebugWindow::DebugWindow()
m_ui->moduleConfigView->setModel( m_module_model.get() );
#ifdef WITH_PYTHONQT
QPushButton* pythonConsoleButton = new QPushButton;
pythonConsoleButton->setText( "Attach Python console" );
m_ui->modulesVerticalLayout->insertWidget( 1, pythonConsoleButton );
pythonConsoleButton->hide();
QObject::connect( pythonConsoleButton, &QPushButton::clicked, this, [this, moduleConfigModel] {
QString moduleName = m_ui->modulesListView->currentIndex().data().toString();
Module* module = ModuleManager::instance()->moduleInstance( moduleName );
if ( module->interface() != Module::Interface::PythonQt || module->type() != Module::Type::View )
return;
for ( ViewStep* step : ViewManager::instance()->viewSteps() )
{
if ( step->moduleInstanceKey() == module->instanceKey() )
{
PythonQtViewStep* pqvs = qobject_cast< PythonQtViewStep* >( step );
if ( pqvs )
{
QWidget* consoleWindow = new QWidget;
QWidget* console = pqvs->createScriptingConsole();
console->setParent( consoleWindow );
QVBoxLayout* layout = new QVBoxLayout;
consoleWindow->setLayout( layout );
layout->addWidget( console );
QHBoxLayout* bottomLayout = new QHBoxLayout;
layout->addLayout( bottomLayout );
QLabel* bottomLabel = new QLabel( consoleWindow );
bottomLayout->addWidget( bottomLabel );
QString line = QString( "Module: <font color=\"#008000\"><code>%1</code></font><br/>"
"Python class: <font color=\"#008000\"><code>%2</code></font>" )
.arg( module->instanceKey() )
.arg( console->property( "classname" ).toString() );
bottomLabel->setText( line );
QPushButton* closeButton = new QPushButton( consoleWindow );
closeButton->setText( "&Close" );
QObject::connect( closeButton, &QPushButton::clicked, [consoleWindow] { consoleWindow->close(); } );
bottomLayout->addWidget( closeButton );
bottomLabel->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
consoleWindow->setParent( this );
consoleWindow->setWindowFlags( Qt::Window );
consoleWindow->setWindowTitle( "Calamares Python console" );
consoleWindow->setAttribute( Qt::WA_DeleteOnClose, true );
consoleWindow->showNormal();
break;
}
}
}
} );
#endif
connect( m_ui->modulesListView->selectionModel(),
&QItemSelectionModel::selectionChanged,
this,
[this
#ifdef WITH_PYTHONQT
,
pythonConsoleButton
#endif
] {
[this] {
QString moduleName = m_ui->modulesListView->currentIndex().data().toString();
Module* module
= ModuleManager::instance()->moduleInstance( ModuleSystem::InstanceKey::fromString( moduleName ) );
@ -187,10 +117,6 @@ DebugWindow::DebugWindow()
m_ui->moduleConfigView->expandAll();
m_ui->moduleTypeLabel->setText( module->typeString() );
m_ui->moduleInterfaceLabel->setText( module->interfaceString() );
#ifdef WITH_PYTHONQT
pythonConsoleButton->setVisible( module->interface() == Module::Interface::PythonQt
&& module->type() == Module::Type::View );
#endif
}
} );

View File

@ -25,7 +25,6 @@
* which is the CMake-time side of the same configuration.
*/
#cmakedefine WITH_PYTHON
#cmakedefine WITH_PYTHONQT
#cmakedefine WITH_QML
#endif // CALAMARESCONFIG_H

View File

@ -50,17 +50,6 @@ if( WITH_PYTHON )
)
endif()
if( WITH_PYTHONQT )
list( APPEND calamaresui_SOURCES
modulesystem/PythonQtViewModule.cpp
utils/PythonQtUtils.cpp
viewpages/PythonQtJob.cpp
viewpages/PythonQtViewStep.cpp
viewpages/PythonQtGlobalStorageWrapper.cpp
viewpages/PythonQtUtilsWrapper.cpp
)
endif()
if( WITH_QML )
list( APPEND calamaresui_SOURCES
utils/Qml.cpp
@ -81,11 +70,6 @@ target_link_libraries( calamaresui PRIVATE yamlcpp::yamlcpp )
if( KF5CoreAddons_FOUND AND KF5CoreAddons_VERSION VERSION_GREATER_EQUAL 5.58 )
target_compile_definitions( calamaresui PRIVATE WITH_KOSRelease )
endif()
if( WITH_PYTHONQT )
# *_DIRS because we also use extensions
target_include_directories( calamaresui PRIVATE ${PYTHON_INCLUDE_DIRS} ${PYTHONQT_INCLUDE_DIRS} )
target_link_libraries( calamaresui PRIVATE ${PYTHON_LIBRARIES} ${PYTHONQT_LIBRARIES} )
endif()
if( WITH_QML )
target_link_libraries( calamaresui PUBLIC Qt5::QuickWidgets )
endif()

View File

@ -24,10 +24,6 @@
#include "PythonJobModule.h"
#endif
#ifdef WITH_PYTHONQT
#include "PythonQtViewModule.h"
#endif
#include <QDir>
#include <QFile>
#include <QFileInfo>
@ -61,11 +57,7 @@ moduleFromDescriptor( const Calamares::ModuleSystem::Descriptor& moduleDescripto
}
else if ( moduleDescriptor.interface() == Interface::PythonQt )
{
#ifdef WITH_PYTHONQT
m.reset( new PythonQtViewModule() );
#else
cError() << "PythonQt view modules are not supported in this version of Calamares.";
#endif
}
else
{

View File

@ -1,184 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* SPDX-FileCopyrightText: 2018 Raul Rodrigo Segura <raurodse@gmail.com>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#include "PythonQtViewModule.h"
#include "CalamaresConfig.h"
#include "GlobalStorage.h"
#include "JobQueue.h"
#include "ViewManager.h"
#include "utils/Logger.h"
#include "viewpages/PythonQtGlobalStorageWrapper.h"
#include "viewpages/PythonQtUtilsWrapper.h"
#include "viewpages/PythonQtViewStep.h"
#include "viewpages/ViewStep.h"
#include <PythonQt.h>
#include <PythonQt_QtAll.h>
#include <QDir>
#include <QPointer>
static QPointer< GlobalStorage > s_gs = nullptr;
static QPointer< Utils > s_utils = nullptr;
namespace Calamares
{
Module::Type
PythonQtViewModule::type() const
{
return Module::Type::View;
}
Module::Interface
PythonQtViewModule::interface() const
{
return Module::Interface::PythonQt;
}
void
PythonQtViewModule::loadSelf()
{
if ( !m_scriptFileName.isEmpty() )
{
if ( PythonQt::self() == nullptr )
{
if ( Py_IsInitialized() )
PythonQt::init( PythonQt::IgnoreSiteModule | PythonQt::RedirectStdOut
| PythonQt::PythonAlreadyInitialized );
else
{
PythonQt::init();
}
PythonQt_QtAll::init();
cDebug() << "Initializing PythonQt bindings."
<< "This should only happen once.";
//TODO: register classes here into the PythonQt environment, like this:
//PythonQt::self()->registerClass( &PythonQtViewStep::staticMetaObject,
// "calamares" );
// We only do the following to force PythonQt to create a submodule
// "calamares" for us to put our static objects in
PythonQt::self()->registerClass( &::GlobalStorage::staticMetaObject, "calamares" );
// Get a PythonQtObjectPtr to the PythonQt.calamares submodule
PythonQtObjectPtr pqtm = PythonQt::priv()->pythonQtModule();
PythonQtObjectPtr cala = PythonQt::self()->lookupObject( pqtm, "calamares" );
// Prepare GlobalStorage object, in module PythonQt.calamares
if ( !s_gs )
{
s_gs = new ::GlobalStorage( Calamares::JobQueue::instance()->globalStorage() );
}
cala.addObject( "global_storage", s_gs );
// Prepare Utils object, in module PythonQt.calamares
if ( !s_utils )
{
s_utils = new ::Utils( Calamares::JobQueue::instance()->globalStorage() );
}
cala.addObject( "utils", s_utils );
// Append configuration object, in module PythonQt.calamares
cala.addVariable( "configuration", m_configurationMap );
// Basic stdout/stderr handling
QObject::connect( PythonQt::self(), &PythonQt::pythonStdOut, []( const QString& message ) {
cDebug() << "PythonQt OUT>" << message;
} );
QObject::connect( PythonQt::self(), &PythonQt::pythonStdErr, []( const QString& message ) {
cDebug() << "PythonQt ERR>" << message;
} );
}
QDir workingDir( m_workingPath );
if ( !workingDir.exists() )
{
cDebug() << "Invalid working directory" << m_workingPath << "for module" << name();
return;
}
QString fullPath = workingDir.absoluteFilePath( m_scriptFileName );
QFileInfo scriptFileInfo( fullPath );
if ( !scriptFileInfo.isReadable() )
{
cDebug() << "Invalid main script file path" << fullPath << "for module" << name();
return;
}
// Construct empty Python module with the given name
PythonQtObjectPtr cxt = PythonQt::self()->createModuleFromScript( name() );
if ( cxt.isNull() )
{
cDebug() << "Cannot load PythonQt context from file" << fullPath << "for module" << name();
return;
}
static const QLatin1String calamares_module_annotation(
"_calamares_module_typename = ''\n"
"def calamares_module(viewmodule_type):\n"
" global _calamares_module_typename\n"
" _calamares_module_typename = viewmodule_type.__name__\n"
" return viewmodule_type\n" );
// Load in the decorator
PythonQt::self()->evalScript( cxt, calamares_module_annotation );
// Load the module
PythonQt::self()->evalFile( cxt, fullPath );
m_viewStep = new PythonQtViewStep( cxt );
cDebug() << "PythonQtViewModule loading self for instance" << instanceKey() << "\nPythonQtViewModule at address"
<< this << "\nViewStep at address" << m_viewStep;
m_viewStep->setModuleInstanceKey( instanceKey() );
m_viewStep->setConfigurationMap( m_configurationMap );
ViewManager::instance()->addViewStep( m_viewStep );
m_loaded = true;
cDebug() << "PythonQtViewModule" << instanceKey() << "loading complete.";
}
}
JobList
PythonQtViewModule::jobs() const
{
return m_viewStep->jobs();
}
void
PythonQtViewModule::initFrom( const QVariantMap& moduleDescriptor )
{
QDir directory( location() );
m_workingPath = directory.absolutePath();
if ( !moduleDescriptor.value( "script" ).toString().isEmpty() )
{
m_scriptFileName = moduleDescriptor.value( "script" ).toString();
}
}
PythonQtViewModule::PythonQtViewModule()
: Module()
{
}
PythonQtViewModule::~PythonQtViewModule() {}
} // namespace Calamares

View File

@ -1,50 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#ifndef CALAMARES_PYTHONQTVIEWMODULE_H
#define CALAMARES_PYTHONQTVIEWMODULE_H
#include "DllMacro.h"
#include "Module.h"
namespace Calamares
{
class ViewStep;
class UIDLLEXPORT PythonQtViewModule : public Module
{
public:
Type type() const override;
Interface interface() const override;
void loadSelf() override;
JobList jobs() const override;
protected:
void initFrom( const QVariantMap& moduleDescriptor ) override;
private:
explicit PythonQtViewModule();
virtual ~PythonQtViewModule();
ViewStep* m_viewStep = nullptr;
QString m_scriptFileName;
QString m_workingPath;
friend Module* Calamares::moduleFromDescriptor( const ModuleSystem::Descriptor& moduleDescriptor,
const QString& instanceId,
const QString& configFileName,
const QString& moduleDirectory );
};
} // namespace Calamares
#endif // CALAMARES_PYTHONQTVIEWMODULE_H

View File

@ -1,37 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#include "PythonQtUtils.h"
namespace CalamaresUtils
{
QVariant
lookupAndCall( PyObject* object,
const QStringList& candidateNames,
const QVariantList& args,
const QVariantMap& kwargs )
{
Q_ASSERT( object );
Q_ASSERT( !candidateNames.isEmpty() );
for ( const QString& name : candidateNames )
{
PythonQtObjectPtr callable = PythonQt::self()->lookupCallable( object, name );
if ( callable )
{
return callable.call( args, kwargs );
}
}
// If we haven't found a callable with the given names, we force an error:
return PythonQt::self()->call( object, candidateNames.first(), args, kwargs );
}
} // namespace CalamaresUtils

View File

@ -1,29 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#ifndef PYTHONQTUTILS_H
#define PYTHONQTUTILS_H
#include <PythonQt.h>
#include <QVariant>
namespace CalamaresUtils
{
//NOTE: when running this, it is assumed that Python is initialized and
// PythonQt::self() is valid.
QVariant lookupAndCall( PyObject* object,
const QStringList& candidateNames,
const QVariantList& args = QVariantList(),
const QVariantMap& kwargs = QVariantMap() );
} // namespace CalamaresUtils
#endif // PYTHONQTUTILS_H

View File

@ -1,61 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#include "PythonQtGlobalStorageWrapper.h"
#include "GlobalStorage.h"
GlobalStorage::GlobalStorage( Calamares::GlobalStorage* gs )
: QObject( gs )
, m_gs( gs )
{
}
bool
GlobalStorage::contains( const QString& key ) const
{
return m_gs->contains( key );
}
int
GlobalStorage::count() const
{
return m_gs->count();
}
void
GlobalStorage::insert( const QString& key, const QVariant& value )
{
m_gs->insert( key, value );
}
QStringList
GlobalStorage::keys() const
{
return m_gs->keys();
}
int
GlobalStorage::remove( const QString& key )
{
return m_gs->remove( key );
}
QVariant
GlobalStorage::value( const QString& key ) const
{
return m_gs->value( key );
}

View File

@ -1,48 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#ifndef PYTHONQTGLOBALSTORAGEWRAPPER_H
#define PYTHONQTGLOBALSTORAGEWRAPPER_H
#include <QObject>
#include <QStringList>
#include <QVariant>
namespace Calamares
{
class GlobalStorage;
}
/**
* @brief This GlobalStorage class is a namespace-free wrapper for
* Calamares::GlobalStorage. This is unfortunately a necessity
* because PythonQt doesn't like namespaces.
*/
class GlobalStorage : public QObject
{
Q_OBJECT
public:
explicit GlobalStorage( Calamares::GlobalStorage* gs );
virtual ~GlobalStorage() {}
public slots:
bool contains( const QString& key ) const;
int count() const;
void insert( const QString& key, const QVariant& value );
QStringList keys() const;
int remove( const QString& key );
QVariant value( const QString& key ) const;
private:
Calamares::GlobalStorage* m_gs;
};
#endif // PYTHONQTGLOBALSTORAGEWRAPPER_H

View File

@ -1,62 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#include "PythonQtJob.h"
#include "utils/PythonQtUtils.h"
PythonQtJob::PythonQtJob( PythonQtObjectPtr cxt, PythonQtObjectPtr pyJob, QObject* parent )
: Calamares::Job( parent )
, m_cxt( cxt )
, m_pyJob( pyJob )
{
}
QString
PythonQtJob::prettyName() const
{
return CalamaresUtils::lookupAndCall( m_pyJob, { "prettyName", "prettyname", "pretty_name" } ).toString();
}
QString
PythonQtJob::prettyDescription() const
{
return CalamaresUtils::lookupAndCall( m_pyJob, { "prettyDescription", "prettydescription", "pretty_description" } )
.toString();
}
QString
PythonQtJob::prettyStatusMessage() const
{
return CalamaresUtils::lookupAndCall( m_pyJob,
{ "prettyStatusMessage", "prettystatusmessage", "pretty_status_message" } )
.toString();
}
Calamares::JobResult
PythonQtJob::exec()
{
QVariant response = m_pyJob.call( "exec" );
if ( response.isNull() )
{
return Calamares::JobResult::ok();
}
QVariantMap map = response.toMap();
if ( map.isEmpty() || map.value( "ok" ).toBool() )
{
return Calamares::JobResult::ok();
}
return Calamares::JobResult::error( map.value( "message" ).toString(), map.value( "details" ).toString() );
}

View File

@ -1,53 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#ifndef PYTHONQTJOB_H
#define PYTHONQTJOB_H
#include "Job.h"
#include <PythonQt.h>
namespace Calamares
{
class PythonQtViewStep;
}
class PythonQtJobResult : public QObject, public Calamares::JobResult
{
Q_OBJECT
public:
explicit PythonQtJobResult( bool ok, const QString& message, const QString& details )
: QObject( nullptr )
, Calamares::JobResult( message, details, ok ? 0 : Calamares::JobResult::GenericError )
{
}
};
class PythonQtJob : public Calamares::Job
{
Q_OBJECT
public:
virtual ~PythonQtJob() {}
QString prettyName() const override;
QString prettyDescription() const override;
QString prettyStatusMessage() const override;
Calamares::JobResult exec() override;
private:
explicit PythonQtJob( PythonQtObjectPtr cxt, PythonQtObjectPtr pyJob, QObject* parent = nullptr );
friend class Calamares::PythonQtViewStep; // only this one can call the ctor
PythonQtObjectPtr m_cxt;
PythonQtObjectPtr m_pyJob;
};
#endif // PYTHONQTJOB_H

View File

@ -1,116 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#include "PythonQtUtilsWrapper.h"
#include "partition/Mount.h"
#include "utils/CalamaresUtilsSystem.h"
#include "utils/Logger.h"
#include "utils/String.h"
#include <PythonQt.h>
Utils::Utils( QObject* parent )
: QObject( parent )
, m_exceptionCxt( PythonQt::self()->createUniqueModule() )
{
PythonQt::self()->evalScript( m_exceptionCxt, "import subprocess" );
}
void
Utils::debug( const QString& s ) const
{
cDebug() << "PythonQt DBG>" << s;
}
int
Utils::mount( const QString& device_path,
const QString& mount_point,
const QString& filesystem_name,
const QString& options ) const
{
return CalamaresUtils::Partition::mount( device_path, mount_point, filesystem_name, options );
}
int
Utils::target_env_call( const QString& command, const QString& stdin, int timeout ) const
{
return CalamaresUtils::System::instance()->targetEnvCall(
command, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) );
}
int
Utils::target_env_call( const QStringList& args, const QString& stdin, int timeout ) const
{
return CalamaresUtils::System::instance()->targetEnvCall(
args, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) );
}
int
Utils::check_target_env_call( const QString& command, const QString& stdin, int timeout ) const
{
int ec = target_env_call( command, stdin, timeout );
return _handle_check_target_env_call_error( ec, command );
}
int
Utils::check_target_env_call( const QStringList& args, const QString& stdin, int timeout ) const
{
int ec = target_env_call( args, stdin, timeout );
return _handle_check_target_env_call_error( ec, args.join( ' ' ) );
}
QString
Utils::check_target_env_output( const QString& command, const QString& stdin, int timeout ) const
{
QString output;
int ec = CalamaresUtils::System::instance()->targetEnvOutput(
command, output, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) );
_handle_check_target_env_call_error( ec, command );
return output;
}
QString
Utils::check_target_env_output( const QStringList& args, const QString& stdin, int timeout ) const
{
QString output;
int ec = CalamaresUtils::System::instance()->targetEnvOutput(
args, output, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) );
_handle_check_target_env_call_error( ec, args.join( ' ' ) );
return output;
}
QString
Utils::obscure( const QString& string ) const
{
return CalamaresUtils::obscure( string );
}
int
Utils::_handle_check_target_env_call_error( int ec, const QString& cmd ) const
{
if ( ec )
{
QString raise = QString( "raise subprocess.CalledProcessError(%1,\"%2\")" ).arg( ec ).arg( cmd );
PythonQt::self()->evalScript( m_exceptionCxt, raise );
}
return ec;
}

View File

@ -1,57 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#ifndef PYTHONQTUTILSWRAPPER_H
#define PYTHONQTUTILSWRAPPER_H
#include <PythonQtObjectPtr.h>
#include <QObject>
/**
* @brief The Utils class wraps around functions from CalamaresUtils to make them
* available in the PythonQt interface.
*/
class Utils : public QObject
{
Q_OBJECT
public:
explicit Utils( QObject* parent = nullptr );
virtual ~Utils() {}
public slots:
void debug( const QString& s ) const;
int mount( const QString& device_path,
const QString& mount_point,
const QString& filesystem_name,
const QString& options ) const;
int target_env_call( const QString& command, const QString& stdin = QString(), int timeout = 0 ) const;
int target_env_call( const QStringList& args, const QString& stdin = QString(), int timeout = 0 ) const;
int check_target_env_call( const QString& command, const QString& stdin = QString(), int timeout = 0 ) const;
int check_target_env_call( const QStringList& args, const QString& stdin = QString(), int timeout = 0 ) const;
QString check_target_env_output( const QString& command, const QString& stdin = QString(), int timeout = 0 ) const;
QString check_target_env_output( const QStringList& args, const QString& stdin = QString(), int timeout = 0 ) const;
QString obscure( const QString& string ) const;
private:
inline int _handle_check_target_env_call_error( int ec, const QString& cmd ) const;
PythonQtObjectPtr m_exceptionCxt;
};
#endif // PYTHONQTUTILSWRAPPER_H

View File

@ -1,203 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#include "PythonQtViewStep.h"
#include "utils/CalamaresUtilsGui.h"
#include "utils/Logger.h"
#include "utils/PythonQtUtils.h"
#include "utils/Retranslator.h"
#include "viewpages/PythonQtJob.h"
#include <gui/PythonQtScriptingConsole.h>
#include <QBoxLayout>
#include <QWidget>
namespace Calamares
{
PythonQtViewStep::PythonQtViewStep( PythonQtObjectPtr cxt, QObject* parent )
: ViewStep( parent )
, m_widget( new QWidget() )
, m_cxt( cxt )
{
PythonQt* pq = PythonQt::self();
Q_ASSERT( pq );
// The @calamares_module decorator should have filled _calamares_module_typename
// for us.
QString className = m_cxt.getVariable( "_calamares_module_typename" ).toString();
// Instantiate an object of the class marked with @calamares_module and
// store it as _calamares_module.
pq->evalScript( m_cxt, QString( "_calamares_module = %1()" ).arg( className ) );
m_obj = pq->lookupObject( m_cxt, "_calamares_module" );
Q_ASSERT( !m_obj.isNull() ); // no entry point, no party
// Prepare the base widget for the module's pages
m_widget->setLayout( new QVBoxLayout );
CalamaresUtils::unmarginLayout( m_widget->layout() );
m_cxt.addObject( "_calamares_module_basewidget", m_widget );
CALAMARES_RETRANSLATE_FOR(
m_widget,
CalamaresUtils::lookupAndCall( m_obj, { "retranslate" }, { CalamaresUtils::translatorLocaleName() } ); )
}
QString
PythonQtViewStep::prettyName() const
{
return CalamaresUtils::lookupAndCall( m_obj, { "prettyName", "prettyname", "pretty_name" } ).toString();
}
QWidget*
PythonQtViewStep::widget()
{
if ( m_widget->layout()->count() > 1 )
cWarning() << "PythonQtViewStep wrapper widget has more than 1 child. "
"This should never happen.";
bool nothingChanged
= m_cxt.evalScript( "_calamares_module.widget() in _calamares_module_basewidget.children()" ).toBool();
if ( nothingChanged )
{
return m_widget;
}
// Else, we either don't have a child widget, or we have a child widget that
// was previously set and doesn't apply any more since the Python module
// set a new one.
// First we clear the layout, which should only ever have 1 item.
// We only remove from the layout and not delete because Python is in charge
// of memory management for these widgets.
while ( m_widget->layout()->itemAt( 0 ) )
{
m_widget->layout()->takeAt( 0 );
}
m_cxt.evalScript( "_calamares_module_basewidget.layout().addWidget(_calamares_module.widget())" );
return m_widget;
}
void
PythonQtViewStep::next()
{
CalamaresUtils::lookupAndCall( m_obj, { "next" } );
}
void
PythonQtViewStep::back()
{
CalamaresUtils::lookupAndCall( m_obj, { "back" } );
}
bool
PythonQtViewStep::isNextEnabled() const
{
return CalamaresUtils::lookupAndCall( m_obj, { "isNextEnabled", "isnextenabled", "is_next_enabled" } ).toBool();
}
bool
PythonQtViewStep::isBackEnabled() const
{
return CalamaresUtils::lookupAndCall( m_obj, { "isBackEnabled", "isbackenabled", "is_back_enabled" } ).toBool();
}
bool
PythonQtViewStep::isAtBeginning() const
{
return CalamaresUtils::lookupAndCall( m_obj, { "isAtBeginning", "isatbeginning", "is_at_beginning" } ).toBool();
}
bool
PythonQtViewStep::isAtEnd() const
{
return CalamaresUtils::lookupAndCall( m_obj, { "isAtEnd", "isatend", "is_at_end" } ).toBool();
}
void
PythonQtViewStep::onActivate()
{
CalamaresUtils::lookupAndCall( m_obj, { "onActivate", "onactivate", "on_activate" } );
}
void
PythonQtViewStep::onLeave()
{
CalamaresUtils::lookupAndCall( m_obj, { "onLeave", "onleave", "on_leave" } );
}
JobList
PythonQtViewStep::jobs() const
{
JobList jobs;
PythonQtObjectPtr jobsCallable = PythonQt::self()->lookupCallable( m_obj, "jobs" );
if ( jobsCallable.isNull() )
{
return jobs;
}
PythonQtObjectPtr response = PythonQt::self()->callAndReturnPyObject( jobsCallable );
if ( response.isNull() )
{
return jobs;
}
PythonQtObjectPtr listPopCallable = PythonQt::self()->lookupCallable( response, "pop" );
if ( listPopCallable.isNull() )
{
return jobs;
}
forever
{
PythonQtObjectPtr aJob = PythonQt::self()->callAndReturnPyObject( listPopCallable, { 0 } );
if ( aJob.isNull() )
{
break;
}
jobs.append( Calamares::job_ptr( new PythonQtJob( m_cxt, aJob ) ) );
}
return jobs;
}
void
PythonQtViewStep::setConfigurationMap( const QVariantMap& configurationMap )
{
m_obj.addVariable( "configuration", configurationMap );
}
QWidget*
PythonQtViewStep::createScriptingConsole()
{
PythonQtScriptingConsole* console = new PythonQtScriptingConsole( nullptr, m_cxt );
console->setProperty( "classname", m_cxt.getVariable( "_calamares_module_typename" ).toString() );
return console;
}
} // namespace Calamares

View File

@ -1,57 +0,0 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
#ifndef PYTHONQTVIEWSTEP_H
#define PYTHONQTVIEWSTEP_H
#include "ViewStep.h"
#include <PythonQt.h>
namespace Calamares
{
class PythonQtViewStep : public Calamares::ViewStep
{
Q_OBJECT
public:
PythonQtViewStep( PythonQtObjectPtr cxt, QObject* parent = nullptr );
QString prettyName() const override;
QWidget* widget() override;
void next() override;
void back() override;
void onLeave() override;
void onActivate() override;
bool isNextEnabled() const override;
bool isBackEnabled() const override;
bool isAtBeginning() const override;
bool isAtEnd() const override;
JobList jobs() const override;
void setConfigurationMap( const QVariantMap& configurationMap ) override;
QWidget* createScriptingConsole();
protected:
QWidget* m_widget;
private:
PythonQtObjectPtr m_cxt;
PythonQtObjectPtr m_obj;
};
} // namespace Calamares
#endif // PYTHONQTVIEWSTEP_H

View File

@ -29,8 +29,7 @@ namespace Calamares
* A view module is a Calamares module which has at least one UI page (exposed as
* ViewStep::widget), and can optionally create Calamares jobs at runtime.
* As of early 2020, a view module can be implemented by deriving from ViewStep
* in C++ (as a Qt Plugin or a Qml ViewStep) or in Python with the PythonQt interface
* (which also mimics the ViewStep class).
* in C++ (as a Qt Plugin or a Qml ViewStep).
*
* A ViewStep can describe itself in human-readable format for the SummaryPage
* (which shows all of the things which have been collected to be done in the

View File

@ -283,17 +283,6 @@ description if something went wrong.
**TODO:** this needs documentation
## PythonQt modules (deprecated)
> Type: viewmodule, jobmodule
> Interface: pythonqt
The PythonQt modules are deprecated and will be removed in Calamares 3.3.
Their documentation is also almost completely lacking.
## Process modules
Use of this kind of module is **not** recommended.

View File

@ -1,24 +0,0 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# This is a dummy (example) module for PythonQt.
#
# The code is the documentation for the configuration file.
---
syntax: "YAML map of anything"
example:
whats_this: "module-specific configuration"
from_where: "dummypythonqt.conf"
a_list:
- "item1"
- "item2"
- "item3"
- "item4"
a_list_of_maps:
- name: "an Item"
contents:
- "an element"
- "another element"
- name: "another item"
contents:
- "not much"

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018\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"
"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/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "اضغط علي!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "QLabel جديد"
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "دميه خطوة PythonQt "
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "دميه عملية PythonQt "
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "هذة دميه عملية خطوة PythonQt. و تقول: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "رسالة حاله دميه عملية خطوة PythonQt"

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Deep Jyoti Choudhury <deep.choudhury@libresoft.in>, 2020
# Wrishiraj Kaushik <wrix@libresoft.in>, 2020
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-19 17:27+0100\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Wrishiraj Kaushik <wrix@libresoft.in>, 2020\n"
"Language-Team: Assamese (https://www.transifex.com/calamares/teams/20061/as/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: as\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "ইয়াত ক্লিক কৰক!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "এটা নতুন QLabel।"
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "ডামী পাইথন-কিউট্ ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "ডামী পাইথন-কিউট্ কায্য"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "এইটোৱে ডামী পাইথন-কিউট্ কাৰ্য্য। ডামী কাৰ্য্যটোৱে কয় যে: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "ডামী পাইথন-কিউট্ কায্যৰ বাবে এটা অৱস্থা বাৰ্তা।"

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# enolp <enolp@softastur.org>, 2019
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-22 07:09-0500\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: enolp <enolp@softastur.org>, 2019\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"
"Language: ast\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "¡Cálcame!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Una QLabel nueva."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "ViewStep maniquín en PythonQt"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "El trabayu maniquín en PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Esti ye'l trabayu maniquín en PythonQt. El trabayu maniquín diz: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Un mensaxe d'estáu pal trabayu maniquín en PythonQt."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Zmicer Turok <nashtlumach@gmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-10 19:18-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Zmicer Turok <nashtlumach@gmail.com>, 2018\n"
"Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: be\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/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Націсніце сюды! "
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Новы QLabel. "
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "The Dummy PythonQt Job"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Гэта Dummy PythonQt Job. Фіктыўная задача паведамляе: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Паведамленне статусу Dummy PythonQt Job. "

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Georgi Georgiev <georgiev_1994@abv.bg>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Georgi Georgiev <georgiev_1994@abv.bg>, 2018\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"
"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Натисни ме!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Нов QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Фиктивен PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Фиктивната задача PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Това е фиктивната задача PythonQt. Фиктивната задача заявява: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Съобщение за състоянието на фиктивната задача PythonQt."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-30 23:13+0200\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Language-Team: Bengali (https://www.transifex.com/calamares/teams/20061/bn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Davidmp <medipas@gmail.com>, 2019
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-10 19:18-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Davidmp <medipas@gmail.com>, 2019\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"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Clica'm!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Una etiqueta Q nova."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Vistes de Dummy PythonQt"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "La tasca Dummy PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Soc la tasca Dummy PythonQt. La tasca diu el següent: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Un missatge d'estat per a la tasca Dummy PythonQt."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-10 19:18-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Language-Team: Catalan (Valencian) (https://www.transifex.com/calamares/teams/20061/ca@valencia/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ca@valencia\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# pavelrz, 2017
# Pavel Borecki <pavel.borecki@gmail.com>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-22 07:09-0500\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 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"
"Language: cs_CZ\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Klikněte na mě!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Nový QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Testovací PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Testovací úloha PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Toto je testovací úloha PythonQt. Testovací úloha sděluje: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Stavová zpráva o testovací úloze PythonQt."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# scootergrisen, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Klik på mig!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "En ny QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt-visningstrin"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Dummy PythonQt-jobbet"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Dette er dummy PythonQt-jobbet. Dummy-jobbet siger: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "En statusmeddelelse til dummy PythonQt-job."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Christian Spaan, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Klick mich!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Ein neues QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Der Dummy-PythonQt-Job"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Dies ist der Dummy-PythonQt-Job. Der Dummy-Job lautet: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Eine Statusmeldung für den Dummy-PythonQt-Job."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 16:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
#: src/modules/dummypythonqt/main.py:75
msgid "Click me!"
msgstr "Click me!"
#: src/modules/dummypythonqt/main.py:85
msgid "A new QLabel."
msgstr "A new QLabel."
#: src/modules/dummypythonqt/main.py:88
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:174
msgid "The Dummy PythonQt Job"
msgstr "The Dummy PythonQt Job"
#: src/modules/dummypythonqt/main.py:177
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "This is the Dummy PythonQt Job. The dummy job says: {}"
#: src/modules/dummypythonqt/main.py:181
msgid "A status message for Dummy PythonQt Job."
msgstr "A status message for Dummy PythonQt Job."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Jason Collins <JasonPCollins@protonmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Jason Collins <JasonPCollins@protonmail.com>, 2018\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"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Click me!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "A new QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "The Dummy PythonQt Job"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "This is the Dummy PythonQt Job. The dummy job says: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "A status message for Dummy PythonQt Job."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Kurt Ankh Phoenix <kurtphoenix@tuta.io>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Kurt Ankh Phoenix <kurtphoenix@tuta.io>, 2018\n"
"Language-Team: Esperanto (https://www.transifex.com/calamares/teams/20061/eo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eo\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Alklaku min!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Nova QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Formala PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "La Formala PythonQt Laboro"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Ĉi tiu estas la Formala PythonQt Laboro. La formala laboro diras: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Statusa mesaĝo por Formala PythonQt Laboro."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# strel, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "¡Púlsame!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Una nueva QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "ViewStep de PythonQt Ficticia"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "La Tarea PythonQt Ficticia"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Esta es la Tarea PythonQt Ficticia. La tarea ficticia dice: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Un mensaje de estado para la Tarea PythonQt Ficticia."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# guillermo pacheco <guillopacheco@gmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: guillermo pacheco <guillopacheco@gmail.com>, 2018\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"
"Language: es_MX\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "¡Haz clic en mí!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Una nueva QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Vision del PythonQt ficticio"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Trabajo del PythonQt ficticio"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Este es el Trabajo PythonQt ficticio. El trabajo ficticio dice: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Un mensaje de estado para el trabajo PythonQt ficticio."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: es_PR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Madis Otenurm, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-07-06 01:16+0200\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Madis Otenurm, 2018\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"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Klõpsa mind!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Uus QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Testiv PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Testiv PythonQt Töö"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "See on testiv PythonQt töö. Testiv töö ütleb: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Olekusõnum testivale PythonQt tööle."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Ander Elortondo, 2019
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Ander Elortondo, 2019\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"
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Egidazu klik!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "QLabel berria."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt pauso-ikuspegia"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr " Dummy PythonQt lana"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Hau Dummy PythonQt lana da. Dummy lanak zera dio: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Dummy PythonQt lanaren egoera mezua."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Danial Behzadi <dani.behzi@ubuntu.com>, 2020
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-30 23:13+0200\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>, 2020\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"
"Language: fa\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "کلیکم کنید!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "یک QLabel جدید."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "گام نمایش PythonQt الکی"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "کار PythonQt الکی"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "این کار PythonQt الکی است. کار الکی می‌گوید: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "پیام وضعیتی برای کار PythonQt الکی."

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Assalat3 <assalat3@gmail.com>, 2017
# Kimmo Kujansuu <mrkujansuu@gmail.com>, 2019
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-10 19:18-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Kimmo Kujansuu <mrkujansuu@gmail.com>, 2019\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"
"Language: fi_FI\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Klikkaa minua!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Uusi Qtyönimi."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Näppärä Python Qt-näkymä"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Näppärä Python Qt-työkalu"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Tämä on näppärä Python Qt-työkalu. Näennäinen työ sanoo: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Python Qt-työkalun tilailmoitus."

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Paul Combal <abonnementspaul@gmail.com>, 2017
# Aestan <anthony.margerand@protonmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Aestan <anthony.margerand@protonmail.com>, 2018\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"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Cliquez-moi!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Un nouveau QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "ViewStep Factice PythonQt"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Tâche Factice PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Ceci est la tâche factice PythonQt. La tâche factice dit : {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Un message d'état pour la tâche factice PythonQt."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: fr_CH\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Xosé, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Xosé, 2018\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"
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Prémeme!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Unha QLabel nova."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "ViewStep parvo de PythonQt"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "A tarefa parva de PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Esta é a tarefa parva de PythonQt. A tarefa parva di: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Unha mensaxe parva para Dummy PythonQt Job."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: gu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Eli Shleifer <eligator@gmail.com>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Eli Shleifer <eligator@gmail.com>, 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"
"Language: he\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "לחץ עליי!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "QLabel חדש."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "שלב הצפייה של משימת הדמה של PythonQt"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "משימת הדמה של PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "זוהי משימת הדמה של PythonQt. משימת הדמה אומרת: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "הודעת מצב עבור משימת דמה של PythonQt."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Panwar108 <caspian7pena@gmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Panwar108 <caspian7pena@gmail.com>, 2018\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"
"Language: hi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "यहाँ क्लिक करें!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "नया QLabel।"
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "डमी पाइथन प्रक्रिया की चरण संख्या देखें"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "डमी पाइथन प्रक्रिया"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "यह डमी पाइथन प्रक्रिया है। डमी प्रक्रिया संबंधी संदेश : {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "डमी पाइथन प्रक्रिया की अवस्था संबंधी संदेश।"

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Lovro Kudelić <lovro.kudelic@outlook.com>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Lovro Kudelić <lovro.kudelic@outlook.com>, 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"
"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/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Klikni me!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Novi QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Testni PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Testni PythonQt posao"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Ovo je testni PythonQt posao. Testni posao kaže: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Statusna poruka za testni PythonQt posao."

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Lajos Pasztor <mrlajos@gmail.com>, 2016
# miku84, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Kattints ide!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Egy új QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Hamis PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Egy PythonQt Job teszt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Ez egy PythonQt Job teszt. A teszt job azt mondja: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Sztátus üzenet egy PythonQt Job-hoz."

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Kukuh Syafaat <syafaatkukuh@gmail.com>, 2016
# Wantoyèk <wantoyek@gmail.com>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-30 23:13+0200\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Wantoyèk <wantoyek@gmail.com>, 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"
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Klik saya!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Sebuah QLabel baru."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Dummy PythonQt Job"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Ini adalah Dummy PythonQt Job. Dummy job mengatakan: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Sebuah pesan status untuk Dummy PythonQt Job."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Kristján Magnússon, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Smelltu mig!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Nýtt QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Dummy PythonQt Job"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Þetta er Dummy PythonQt Job. Dummy job segir: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Stöðuskilaboð fyrir Dummy PythonQt Job."

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Teo Mrnjavac <teo@kde.org>, 2016
# Saverio <saverio.brancaccio@gmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-22 07:09-0500\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Saverio <saverio.brancaccio@gmail.com>, 2018\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"
"Language: it_IT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Clicca qui!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Una nuova QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "PythonQt ViewStep fittizio"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Il Job Dummy PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Questo è il Job Dummy PythonQt. Il dummy job notifica: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Un messaggio di stato per il Job Dummy PythonQt."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Takefumi Nagata, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "クリックしてください!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "新しいQLabel"
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "The Dummy PythonQt Job"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "これはDummy PythonQtジョブです。Dummy ジョブの出力: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "ダミーのPythonQtジョブの状態"

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: kk\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Language-Team: Kannada (https://www.transifex.com/calamares/teams/20061/kn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: kn\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# MarongHappy <daemul72@gmail.com>, 2019
# 김지현 <potatogim@potatogim.net>, 2020
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-19 17:27+0100\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: 김지현 <potatogim@potatogim.net>, 2020\n"
"Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "여기를 클릭하세요!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "새로운 QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "더미 PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "더미 PythonQt 작업"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "더미 PythonQt 작업입니다. 이 더미 작업의 출력은 다음과 같습니다: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "더미 PythonQt 작업의 상태 메시지"

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: lo\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Moo, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: lt\n"
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Spustelėkite mane!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Naujas QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Fiktyvi PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Fiktyvi PythonQt užduotis"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Tai yra fiktyvi PythonQt užduotis. Fiktyvi užduotis sako: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Fiktyvios PythonQt užduoties būsenos pranešimas."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-30 23:13+0200\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Language-Team: Latvian (https://www.transifex.com/calamares/teams/20061/lv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Martin Ristovski <martinristovski@protonmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Martin Ristovski <martinristovski@protonmail.com>, 2018\n"
"Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Кликни ме!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Нов QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Balasankar C <balasankarc@autistici.org>, 2019
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-15 21:54+0200\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Balasankar C <balasankarc@autistici.org>, 2019\n"
"Language-Team: Malayalam (https://www.transifex.com/calamares/teams/20061/ml/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ml\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "എന്നെ ക്ലിക്ക് ചെയ്യൂ!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "ഒരു പുതിയ QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: mr\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: nb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Ghost Hackz <ghosthackz861@gmail.com>, 2019
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-01-25 08:04-0500\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Ghost Hackz <ghosthackz861@gmail.com>, 2019\n"
"Language-Team: Nepali (Nepal) (https://www.transifex.com/calamares/teams/20061/ne_NP/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ne_NP\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "यहाँ क्लिक गर्नुहोस्!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "नयाँ QLabel।"
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "डमी पाइथन भ्यूस्टेप"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "डमी पाइथन प्रकृया"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "यो डमी पाइथन प्रकृया हो। डमी प्रकृया सम्बन्धित सन्देश: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "डमी पाइथन प्रकृयाको अवस्था सम्बन्धित सन्देश।"

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# De Zeeappel <zeeappel@gmail.com>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: De Zeeappel <zeeappel@gmail.com>, 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"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Klik mij!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Een nieuw QLabel"
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "De Dummy PythonQt opdracht"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Dit is de Dummy PythonQt opdracht. De opdracht zegt: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Een statusbericht voor de Dummy PythonQt opdracht."

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Marcin Mikołajczak <me@mkljczk.pl>, 2016
# Piotr Strębski <strebski@gmail.com>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-10 19:18-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Piotr Strębski <strebski@gmail.com>, 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"
"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/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Naciśnij mnie!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Nowy QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Podgląd kroków fikcyjnego PythonQt"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Zadanie fikcyjne PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "To jest zadanie fikcyjne PythonQt mówiące: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Wiadomość o stanie zadania fikcyjnego PythonQt."

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Rodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatic4@gmail.com>, 2017
# Guilherme, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-25 23:02+0100\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Guilherme, 2018\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"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Clique em mim!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Uma nova QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "ViewStep do Modelo PythonQt"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "A Tarefa de Modelo PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Esta é a Tarefa Modelo PythonQt. A tarefa modelo diz: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Uma mensagem de status para a Tarefa Modelo PythonQt."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Ricardo Simões <xmcorporation@gmail.com>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Ricardo Simões <xmcorporation@gmail.com>, 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"
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Clique-me!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Uma nova QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "A Tarefa Dummy PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Esta é a tarefa Dummy PythonQt. A tarefa dummy diz: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Uma mensagem de estado para a Tarefa Dummy PythonQt."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Baadur Jobava <jobaval10n@gmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Baadur Jobava <jobaval10n@gmail.com>, 2018\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"
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Clic aici!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Un nou QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Un job job fictiv PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Acesta este jobul fictiv PythonQt. Descrierea jobului: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Un mesaj de stare pentru jobul fictiv PythonQt."

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Вадим Сабынич <vadim@sabini.ch>, 2017
# Simon Schwartz <arzardk@gmail.com>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Simon Schwartz <arzardk@gmail.com>, 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"
"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/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Нажать здесь!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Новый QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "The Dummy PythonQt Job"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Сообщение состояния для Dummy PythonQt Job."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Dušan Kazik <prescott66@gmail.com>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>, 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"
"Language: sk\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Kliknite sem!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Nová menovka QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Fiktívna úloha PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Toto je fiktívna úloha PythonQt. Fiktívna úloha hovorí: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Stavová správa pre fiktívnu úlohu PythonQt."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"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/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Besnik Bleta <besnik@programeshqip.org>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-15 13:39+0200\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Besnik Bleta <besnik@programeshqip.org>, 2017\n"
"Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sq\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Klikomëni!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Një QLabel e re."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Dummy PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Akti PythonQt Dummy"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Ky është Akti PythonQt Dummy. Akti dummy thotë: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Një mesazh gjendjeje nga Akti PythonQt Dummy."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Slobodan Simić <slsimic@gmail.com>, 2019
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-06-18 15:54+0200\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Slobodan Simić <slsimic@gmail.com>, 2019\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"
"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/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Кликни ме!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Нова КуОзнака"
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Провизорни ПитонКуТ корак прегледа"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Провизорни ПитонКуТ посао"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Ово је провизорни ПитонКуТ посао. Он каже: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Порука стања за провизорни ПитонКуТ посао."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-22 07:09-0500\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"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/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Luna Jernberg <bittin@cafe8bitar.se>, 2020
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-19 00:13+0100\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Luna Jernberg <bittin@cafe8bitar.se>, 2020\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"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Klicka på mig!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "En ny QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Exempel PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Exempel PythonQt jobb"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Detta är ett exempel PythonQt jobb. Exempel jobbet säger: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Ett statusmeddelande för exempel PythonQt jobb."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: th\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Demiray Muhterem <mdemiray@msn.com>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Demiray Muhterem <mdemiray@msn.com>, 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"
"Language: tr_TR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Buraya tıkla!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Yeni bir QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Sahte PythonQt görünümü"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
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 işleri. Sahte işleri şöyle diyor: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Kukla PythonQt Çalışması için bir durum mesajı."

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Yuri Chornoivan <yurchor@ukr.net>, 2020
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-19 17:27+0100\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>, 2020\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"
"Language: uk\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "Натисни мене!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "Нова QLabel."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "Фіктивний ViewStep PythonQt"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "Фіктивне завдання PythonQt"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "Це фіктивне завдання PythonQt. Фіктивне завдання повідомляє: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "Повідомлення щодо стану фіктивного завдання PythonQt."

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: ur\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,42 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\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"
"Language: uz\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""

View File

@ -1,47 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Mingcong Bai <jeffbai@aosc.xyz>, 2017
# soenggam <senggemg@gmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-22 07:09-0500\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: soenggam <senggemg@gmail.com>, 2018\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"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "按我按我!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "一个新的QLabel。"
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "坠吼滴 PythonQt ViewStep"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "PythonQt 任务"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "我是个 PythonQt 任务。任务提示:{}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "来自 PythonQt 任务的状态消息。"

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# 黃柏諺 <s8321414@gmail.com>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-07-06 01:16+0200\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: 黃柏諺 <s8321414@gmail.com>, 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"
"Language: zh_TW\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "點擊我!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr "一個新的 QLabel。"
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr "假的 PythonQt 檢視步驟"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr "假的 PythonQt 工作"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "這是一個假的 PythonQt 工作。假工作表示:{}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "假的 PythonQt 工作的狀態訊息。"

View File

@ -1,188 +0,0 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2016-2017 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2017 Alf Gaida <agaida@siduction.org>
# SPDX-License-Identifier: GPL-3.0-or-later
#
# Calamares is Free Software: see the License-Identifier above.
#
import platform
from PythonQt.QtGui import *
import PythonQt.calamares as calamares
# WARNING: the Calamares PythonQt API is considered EXPERIMENTAL as of
# Calamares 2.5. It comes with no promise or commitment to API stability.
# Set up translations.
# You may skip this if your Calamares module has no user visible strings.
# DO NOT install _ into the builtin namespace because each module loads
# its own catalog.
# DO use the gettext class-based API and manually alias _ as described in:
# https://docs.python.org/3.5/library/gettext.html#localizing-your-module
import gettext
import inspect
import os
_filename = inspect.getframeinfo(inspect.currentframe()).filename
_path = os.path.dirname(os.path.abspath(_filename))
_ = gettext.gettext
# Example Python ViewModule.
# A Python ViewModule is a Python program which defines a ViewStep class.
# One UI module ==> one ViewStep.
# This class must be marked with the @calamares_module decorator. A
# ViewModule may define other classes, but only one may be decorated with
# @calamares_module. Such a class must conform to the Calamares ViewStep
# interface and functions as the entry point of the module.
# A ViewStep manages one or more "wizard pages" through methods like
# back/next, and reports its status through isNextEnabled/isBackEnabled/
# isAtBeginning/isAtEnd. The whole UI, including all the pages, must be
# exposed as a single QWidget, returned by the widget function.
#
# For convenience, both C++ and PythonQt ViewSteps are considered to be
# implementations of ViewStep.h. Additionally, the Calamares PythonQt API
# allows Python developers to keep their identifiers more Pythonic on the
# Python side. Thus, all of the following are considered valid method
# identifiers in a ViewStep implementation: isNextEnabled, isnextenabled,
# is_next_enabled.
@calamares_module
class DummyPythonQtViewStep:
def __init__(self):
# Importing PythonQt.QtGui provides access to most Qt widget classes.
self.main_widget = QFrame()
self.main_widget.setLayout(QVBoxLayout())
label = QLabel()
self.main_widget.layout().addWidget(label)
accumulator = "\nCalamares+PythonQt running embedded Python " +\
platform.python_version()
label.text = accumulator
btn = QPushButton()
# Python strings can be used wherever a method wants a QString. Python
# gettext translations can be used seamlessly as well.
btn.setText(_("Click me!"))
self.main_widget.layout().addWidget(btn)
# The syntax for signal-slot connections is very simple, though
# slightly different from the C++ equivalent. There are no SIGNAL and
# SLOT macros, and a signal can be connected to any Python method
# (without a special "slot" designation).
btn.connect("clicked(bool)", self.on_btn_clicked)
def on_btn_clicked(self):
self.main_widget.layout().addWidget(QLabel(_("A new QLabel.")))
def prettyName(self):
return _("Dummy PythonQt ViewStep")
def isNextEnabled(self):
return True # The "Next" button should be clickable
def isBackEnabled(self):
return True # The "Back" button should be clickable
def isAtBeginning(self):
# True means the currently shown UI page is the first page of this
# module, thus a "Back" button click will not be handled by this
# module and will cause a skip to the previous ViewStep instead
# (if any). False means that the present ViewStep provides other UI
# pages placed logically "before" the current one, thus a "Back" button
# click will be handled by this module instead of skipping to another
# ViewStep. A module (ViewStep) with only one page will always return
# True here.
return True
def isAtEnd(self):
# True means the currently shown UI page is the last page of this
# module, thus a "Next" button click will not be handled by this
# module and will cause a skip to the next ViewStep instead (if any).
# False means that the present ViewStep provides other UI pages placed
# logically "after" the current one, thus a "Next" button click will
# be handled by this module instead of skipping to another ViewStep.
# A module (ViewStep) with only one page will always return True here.
return True
def jobs(self):
# Returns a list of objects that implement Calamares::Job.
return [DummyPQJob("Dummy PythonQt job reporting for duty")]
def widget(self):
# Returns the base QWidget of this module's UI.
return self.main_widget
def retranslate(self, locale_name):
# This is where it gets slightly weird. In most desktop applications we
# shouldn't need this kind of mechanism, because we could assume that
# the operating environment is configured to use a certain language.
# Usually the user would change the system-wide language in a settings
# UI, restart the application, done.
# Alas, Calamares runs on an unconfigured live system, and one of the
# core features of Calamares is to allow the user to pick a language.
# Unfortunately, strings in the UI do not automatically react to a
# runtime language change. To get UI strings in a new language, all
# user-visible strings must be retranslated (by calling tr() in C++ or
# _() in Python) and reapplied on the relevant widgets.
# When the user picks a new UI translation language, Qt raises a QEvent
# of type LanguageChange, which propagates through the QObject
# hierarchy. By catching and reacting to this event, we can show
# user-visible strings in the new language at the right time.
# The C++ side of the Calamares PythonQt API catches the LanguageChange
# event and calls the present method. It is then up to the module
# developer to add here all the needed code to load the module's
# translation catalog for the new language (which is separate from the
# main Calamares strings catalog) and reapply any user-visible strings.
calamares.utils.debug("PythonQt retranslation event "
"for locale name: {}".format(locale_name))
# First we load the catalog file for the new language...
try:
global _
_t = gettext.translation('dummypythonqt',
localedir=os.path.join(_path, 'lang'),
languages=[locale_name])
_ = _t.gettext
except OSError as e:
calamares.utils.debug(e)
pass
# ... and then we can call setText(_("foo")) and similar methods on
# the relevant widgets here to reapply the strings.
# An example Job class. Implements Calamares::Job. For method identifiers, the
# same rules apply as for ViewStep. No decorators are necessary here, because
# only the ViewStep implementation is the unique entry point, and a module can
# have any number of jobs.
class DummyPQJob:
def __init__(self, my_msg):
self.my_msg = my_msg
def pretty_name(self):
return _("The Dummy PythonQt Job")
def pretty_description(self):
return _("This is the Dummy PythonQt Job. "
"The dummy job says: {}").format(self.my_msg)
def pretty_status_message(self):
return _("A status message for Dummy PythonQt Job.")
def exec(self):
# As an example, we touch a file in the target root filesystem.
rmp = calamares.global_storage['rootMountPoint']
os.system("touch {}/calamares_dpqt_was_here".format(rmp))
calamares.utils.debug("the dummy job says {}".format(self.my_msg))
return {'ok': True}

View File

@ -1,9 +0,0 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
# Module metadata file for dummy pythonqt jobmodule
# Syntax is YAML 1.2
---
type: "view"
name: "dummypythonqt"
interface: "pythonqt"
script: "main.py" #assumed relative to the current directory