1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-09-14 22:42:34 +02:00

Merge branch 'dev' into feature/basic-project-creator

# Conflicts:
#	ScreenPlay/Resources.qrc
#	ScreenPlay/src/createimportvideo.cpp
#	ScreenPlay/src/installedlistmodel.h
#	ScreenPlay/src/screenplaymanager.cpp
#	ScreenPlay/src/settings.cpp
#	ScreenPlay/src/settings.h
#	ScreenPlay/src/util.cpp
This commit is contained in:
Elias Steurer 2020-01-06 15:27:29 +01:00
commit ea050e439a
42 changed files with 3315 additions and 755 deletions

View File

@ -26,8 +26,8 @@ build:windows:
- mkdir BUILD
- mkdir PACKAGE
- cd BUILD
- qmake.exe ../ScreenPlay.pro -spec win32-msvc "CONFIG+=release"
- jom.exe qmake_all
- qmake.exe ../ScreenPlay.pro -spec win32-msvc "CONFIG+=release qtquickcompiler"
- jom.exe qmake_all
- jom.exe -j8
- jom.exe install
- xcopy /s /y ScreenPlay\release ..\PACKAGE
@ -36,7 +36,7 @@ build:windows:
- xcopy /s /y ScreenPlayWallpaper\release ..\PACKAGE
- cd ..
- windeployqt.exe --release --qmldir ScreenPlay/qml PACKAGE/ScreenPlay.exe
- windeployqt.exe --release --qmldir ScreenPlayWallpaper/qml PACKAGE/ScreenPlayWallpaper.exe
- windeployqt.exe --release --qmldir ScreenPlayWallpaper PACKAGE/ScreenPlayWallpaper.exe
- cd PACKAGE
- del *.cpp,*.moc,*.h,*.obj,*.res,*.exp,*.lib,*.lik,*.pch
artifacts:

View File

@ -3,9 +3,9 @@
# in this directory. You can shift + right click in this explorer
# window and select "Open PowerShell Window here" for this.
include($QT_INSTALL_DOCS/global/qt-cpp-defines.qdocconf)
include($QT_INSTALL_DOCS/global/compat.qdocconf)
include($QT_INSTALL_DOCS/global/fileextensions.qdocconf)
include(/opt/qt/Docs/Qt-5.14.0/global/qt-cpp-defines.qdocconf)
include(/opt/qt/Docs/Qt-5.14.0/global/compat.qdocconf)
include(/opt/qt/Docs/Qt-5.14.0/global/fileextensions.qdocconf)
descripton = ScreenPlay is an open source cross plattform app for displaying Wallpaper, Widgets and AppDrawer.
language = Cpp
@ -41,9 +41,18 @@ includepaths += ../ScreenPlayWallpaper/
includepaths += ../ScreenPlayWidget/src/
includepaths += ../ScreenPlayWidget/
# qt
includepaths += /opt/qt/5.14.0/gcc_64/include/
includepaths += /opt/qt/5.14.0/gcc_64/include/QtCore/
includepaths += /opt/qt/5.14.0/gcc_64/include/QtGui/
includepaths += /opt/qt/5.14.0/gcc_64/include/QtQml/
includepaths += /opt/qt/5.14.0/gcc_64/include/QtWebView/
# Images
imagedirs = ./images
# what kind of sources should be processed
sources.fileextensions += "*.qdoc *.cpp *.qml"
@ -69,4 +78,4 @@ HTML.postheader += "<div id="mainWrapper" class=\"wrapper container \">\n"
# what to append to every page after the content
HTML.footer += "<div id="license" class=\"footer center\"><p>This documentation is licensed under a <a rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\">Creative Commons Attribution 4.0 International License</a>.</p></div>"
HTML.footer += "<script src=\"../js/mermaid.min.js\"></script>"
HTML.footer += "<script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script>"
HTML.footer += "<script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script>"

View File

@ -99,7 +99,6 @@
<file>settings.json</file>
<file>translations/ScreenPlay_de.qm</file>
<file>translations/ScreenPlay_en.qm</file>
<file>qml/Screen/Screen.qml</file>
<file>assets/icons/icon_screen.svg</file>
<file>qml/Community/XMLNewsfeed.qml</file>
<file>qml/Workshop/WorkshopAvailableTest.qml</file>
@ -138,5 +137,8 @@
<file>qml/Common/CloseIcon.qml</file>
<file>qml/Create/Wizard.qml</file>
<file>qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml</file>
<file>translations/ScreenPlay_es.qm</file>
<file>translations/ScreenPlay_fr.qm</file>
<file>translations/ScreenPlay_ru.qm</file>
</qresource>
</RCC>

View File

@ -37,7 +37,10 @@ SOURCES += \
TRANSLATIONS = \
$$PWD/translations/ScreenPlay_en.ts \
$$PWD/translations/ScreenPlay_de.ts
$$PWD/translations/ScreenPlay_de.ts \
$$PWD/translations/ScreenPlay_ru.ts \
$$PWD/translations/ScreenPlay_es.ts \
$$PWD/translations/ScreenPlay_fr.ts
HEADERS += \
$$PWD/app.h \

View File

@ -49,7 +49,7 @@ App::App()
QGuiApplication::setOrganizationName("ScreenPlay");
QGuiApplication::setOrganizationDomain("screen-play.app");
QGuiApplication::setApplicationName("ScreenPlay");
QGuiApplication::setApplicationVersion("0.6.0");
QGuiApplication::setApplicationVersion("0.7.0");
QGuiApplication::setQuitOnLastWindowClosed(false);
QFontDatabase::addApplicationFont(":/assets/fonts/LibreBaskerville-Italic.ttf");
@ -86,14 +86,14 @@ App::App()
m_settings = make_shared<Settings>(m_globalVariables);
// Only create tracker if user did not disallow!
if (m_settings->anonymousTelemetry()) {
m_tracker = make_unique<GAnalytics>("UA-152830367-3");
m_tracker = make_shared<GAnalytics>("UA-152830367-3");
m_tracker->setNetworkAccessManager(nam);
m_tracker->setSendInterval(1000);
m_tracker->startSession();
}
m_create = make_unique<Create>(m_globalVariables);
m_screenPlayManager = make_unique<ScreenPlayManager>(m_globalVariables, m_monitorListModel, m_sdkConnector);
m_screenPlayManager = make_unique<ScreenPlayManager>(m_globalVariables, m_monitorListModel, m_sdkConnector, m_tracker);
// When the installed storage path changed
QObject::connect(m_settings.get(), &Settings::resetInstalledListmodel, m_installedListModel.get(), &InstalledListModel::reset);

View File

@ -131,13 +131,13 @@ signals:
public slots:
void exit();
void setTrackerSendEvent(const QString& page){
if(m_tracker){
m_tracker->sendEvent("navigation",page);
void setTrackerSendEvent(const QString& category, const QString& page)
{
if (m_tracker) {
m_tracker->sendEvent(category, page);
}
}
void setGlobalVariables(GlobalVariables* globalVariables)
{
if (m_globalVariables.get() == globalVariables)
@ -240,11 +240,11 @@ private:
unique_ptr<QQmlApplicationEngine> m_mainWindowEngine;
#endif
unique_ptr<GAnalytics> m_tracker;
unique_ptr<Create> m_create;
unique_ptr<ScreenPlayManager> m_screenPlayManager;
unique_ptr<Util> m_util;
shared_ptr<GAnalytics> m_tracker;
shared_ptr<GlobalVariables> m_globalVariables;
shared_ptr<Settings> m_settings;
shared_ptr<SDKConnector> m_sdkConnector;

View File

@ -20,16 +20,16 @@ ApplicationWindow {
visible: false
width: 1400
height: 788
title: "ScreenPlay V0.6"
title: "ScreenPlay V0.7"
minimumHeight: 450
minimumWidth: 1050
Component.onCompleted: {
if(!ScreenPlay.settings.silentStart){
window.show()
ScreenPlay.setTrackerSendEvent("Installed");
ScreenPlay.setTrackerSendEvent("navigation","Installed");
} else {
ScreenPlay.setTrackerSendEvent("Silent");
ScreenPlay.setTrackerSendEvent("navigation","Silent");
}
}
@ -138,7 +138,7 @@ ApplicationWindow {
}
MenuItem {
id: miMuteAll
property bool isMuted: false
property bool isMuted: true
text: qsTr("Mute all")
onTriggered: {
if (miMuteAll.isMuted) {

View File

@ -21,7 +21,6 @@ Item {
}
LinearGradient {
id: tabShadow
antialiasing: true
cached: true
anchors.fill: parent
start: Qt.point(0, 0)
@ -212,7 +211,7 @@ Item {
icon.width: 16
icon.height: 16
onClicked: Qt.openUrlExternally(
"https://screen-play.app/index.php/blog")
"https://screen-play.app/blog/")
}
Button {
text: qsTr("Source Code")

View File

@ -1,9 +1,9 @@
import QtQuick 2.12
import QtQuick 2.14
import QtQuick.Controls 2.14
import QtQuick.Controls.Material 2.14
import QtQuick.Layouts 1.14
import QtQuick.Dialogs 1.2
import QtGraphicalEffects 1.0
import QtQuick.Controls 2.2
import QtQuick.Controls.Material 2.3
import Qt.labs.platform 1.0
import QtQuick.Layouts 1.3
import ScreenPlay 1.0
import ScreenPlay.Create 1.0
@ -44,7 +44,7 @@ Item {
Flickable {
anchors.fill: parent
clip: true
contentHeight: txtFFMPEGDebug.paintedHeight
contentHeight: txtFFMPEGDebug.paintedHeight + 100
ScrollBar.vertical: ScrollBar {
snapMode: ScrollBar.SnapOnRelease
policy: ScrollBar.AlwaysOn
@ -62,8 +62,24 @@ Item {
text: ScreenPlay.create.ffmpegOutput
height: txtFFMPEGDebug.paintedHeight
}
MouseArea {
anchors.fill: parent
propagateComposedEvents: true
acceptedButtons: Qt.RightButton
onClicked: contextMenu.popup()
}
}
}
Menu {
id: contextMenu
MenuItem {
text: qsTr("Copy text to clipboard")
onClicked: {
ScreenPlay.util.copyToClipboard(txtFFMPEGDebug.text)
}
}
}
Button {
id: btnBack
@ -76,6 +92,7 @@ Item {
margins: 10
}
onClicked: {
ScreenPlay.setTrackerSendEvent("createWallpaperError",txtFFMPEGDebug.text);
ScreenPlay.util.setNavigationActive(true)
ScreenPlay.util.setNavigation("Create")
}

View File

@ -16,6 +16,19 @@ Item {
property bool conversionFinishedSuccessful: false
property bool canSave: false
property string filePath
onFilePathChanged: {
textFieldName.text = basename(filePath)
}
function basename(str)
{
let filenameWithExtentions = (str.slice(str.lastIndexOf("/")+1))
let filename = filenameWithExtentions.split('.').slice(0, -1).join('.')
return filename
}
onCanSaveChanged: wrapperContent.checkCanSave()
signal save
@ -36,6 +49,9 @@ Item {
case CreateImportVideo.ConvertingPreviewImage:
txtConvert.text = qsTr("Generating preview image...")
break
case CreateImportVideo.ConvertingPreviewThumbnailImage:
txtConvert.text = qsTr("Generating preview thumbnail image...")
break
case CreateImportVideo.ConvertingPreviewImageFinished:
imgPreview.source = "file:///" + ScreenPlay.create.workingDir + "/preview.jpg"
imgPreview.visible = true
@ -67,6 +83,8 @@ Item {
conversionFinishedSuccessful = true
busyIndicator.running = false
wrapperContent.checkCanSave()
ScreenPlay.setTrackerSendEvent("createWallpaperSuccessful", "");
break
}
}

View File

@ -44,6 +44,8 @@ Item {
=== CreateImportVideo.CreateProjectFileError || state
=== CreateImportVideo.CreateTmpFolderError) {
createNew.state = "error"
ScreenPlay.setTrackerSendEvent("createWallpaperErrorState", state.toString());
}
}
}

View File

@ -98,7 +98,7 @@ Item {
}
Timer {
interval: 400
interval: 150
running: true
onTriggered: {
animFadeIn.start()
@ -305,20 +305,23 @@ Item {
width: 15
sourceSize: Qt.size(15, 15)
anchors {
right: txtSearch.left
rightMargin: 15
right: parent.right
rightMargin: 30
bottom: parent.bottom
bottomMargin: 15
}
}
TextField {
id: txtSearch
width: 300
width: 250
height: 40
font.family: "Roboto"
leftPadding: 10
anchors {
right: parent.right
rightMargin: 30
bottom: parent.bottom
bottomMargin: 5
right: icnSearch.right
rightMargin: 20
top:parent.top
topMargin:10
}
onTextChanged: {
if (txtSearch.text.length === 0) {
@ -328,6 +331,7 @@ Item {
}
}
selectByMouse: true
placeholderText: qsTr("Search for Wallpaper & Widgets")
}

View File

@ -32,7 +32,14 @@ Item {
Timer {
id: timerAnim
interval: 40 * itemIndex * Math.random()
interval: {
var itemIndexMax = itemIndex
if(itemIndex > 30)
itemIndexMax = 3
10 * itemIndexMax *Math.random()
}
running: true
repeat: false
onTriggered: showAnim.start()
@ -64,18 +71,18 @@ Item {
running: false
RotationAnimation {
target: rt
from: 90
from: 60
to: 0
duration: 500
easing.type: Easing.OutQuint
easing.type: Easing.OutCirc
property: "angle"
}
PropertyAnimation {
target: screenPlayItem
from: 0
to: 1
duration: 500
easing.type: Easing.OutQuint
duration: 800
easing.type: Easing.OutCirc
property: "opacity"
}
PropertyAnimation {
@ -83,15 +90,15 @@ Item {
from: 80
to: 0
duration: 500
easing.type: Easing.OutQuint
easing.type: Easing.OutCirc
property: "y"
}
PropertyAnimation {
target: sc
from: .8
from: .5
to: 1
duration: 500
easing.type: Easing.OutQuint
duration: 200
easing.type: Easing.OutCirc
properties: "xScale,yScale"
}
}
@ -126,7 +133,7 @@ Item {
visible: false
smooth: true
fillMode: Image.PreserveAspectFit
antialiasing: true
}
Item {
@ -177,7 +184,6 @@ Item {
OpacityMask {
anchors.fill: itemWrapper
antialiasing: true
source: itemWrapper
maskSource: mask

View File

@ -12,6 +12,8 @@ Item {
function enter() {
if (screenPlayItemImage.sourceImageGIF != "") {
imgGIFPreview.playing = true
imgGIFPreview.source = screenPlayItemImage.sourceImageGIF.trim()
imgGIFPreview.enabled = true
}
}
@ -22,8 +24,8 @@ Item {
Image {
id: image
anchors.fill: parent
antialiasing: false
asynchronous: true
cache: true
fillMode: Image.PreserveAspectCrop
source: screenPlayItemImage.sourceImage.trim()
@ -39,12 +41,12 @@ Item {
AnimatedImage {
id: imgGIFPreview
enabled: false
asynchronous: true
playing: false
opacity: 0
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
source: screenPlayItemImage.sourceImageGIF.trim()
}
states: [

View File

@ -282,6 +282,7 @@ Item {
visible: false
id: settingsComboBox
Layout.fillWidth: true
currentIndex: 3
model: ListModel {
ListElement {

View File

@ -57,7 +57,8 @@ ColumnLayout {
}
ComboBox {
id: settingsComboBox
Layout.fillWidth: true
Layout.preferredWidth: parent.width - 20
Layout.leftMargin: 10
onActivated: {
ScreenPlay.screenPlayManager.setWallpaperValue(
activeMonitorIndex, "fillmode",

View File

@ -40,7 +40,7 @@ Rectangle {
function onPageChanged(name) {
ScreenPlay.setTrackerSendEvent(name);
ScreenPlay.setTrackerSendEvent("navigation",name);
if (!navActive)
return

View File

@ -24,8 +24,10 @@ Item {
Connections {
target: ScreenPlay.screenPlayManager
onActiveWallpaperCounterChanged:{
onActiveWallpaperCounterChanged: {
rippleEffect.trigger()
ScreenPlay.setTrackerSendEvent("navigation",
"wallpaperConfiguration")
}
}
@ -42,7 +44,8 @@ Item {
Text {
id: txtAmountActiveWallpapers
text: ScreenPlay.screenPlayManager.activeWallpaperCounter + ScreenPlay.screenPlayManager.activeWidgetsCounter
text: ScreenPlay.screenPlayManager.activeWallpaperCounter
+ ScreenPlay.screenPlayManager.activeWidgetsCounter
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
color: "orange"

View File

@ -1,11 +0,0 @@
import QtQuick 2.12
import QtQuick.Controls 2.2
import QtQuick.Controls.Material 2.2
import "../Common"
Item {
id: screen
anchors.fill: parent
}

View File

@ -177,11 +177,16 @@ Item {
case "Russian":
languageKey = "ru"
break
case "French":
languageKey = "fr"
break
case "Spanish":
languageKey = "es"
break
default:
languageKey = "en"
break
}
print(key, languageKey)
ScreenPlay.settings.setqSetting("language",
languageKey)
@ -199,6 +204,12 @@ Item {
ListElement {
text: "Russian"
}
ListElement {
text: "French"
}
ListElement {
text: "Spanish"
}
}
}
}
@ -500,7 +511,7 @@ Item {
description: qsTr("We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!")
buttonText: qsTr("Privacy")
onButtonPressed: {
ScreenPlay.util.requestAllLDataProtection()
ScreenPlay.util.requestDataProtection()
expanderDataProtection.toggle()
}
}

View File

@ -58,7 +58,7 @@ void Create::createWallpaperStart(QString videoPath)
m_createImportVideoThread = new QThread();
m_createImportVideo = new CreateImportVideo(videoPath, workingDir());
connect(m_createImportVideo, &CreateImportVideo::processOutput, this, [this](QString text) {
appendFfmpegOutput(text);
appendFfmpegOutput(text +"\n");
});
connect(m_createImportVideo, &CreateImportVideo::createWallpaperStateChanged, this, &Create::createWallpaperStateChanged);
@ -135,6 +135,7 @@ void Create::saveWallpaper(QString title, QString description, QString filePath,
} else {
obj.insert("preview", "preview.jpg");
}
obj.insert("previewThumbnail", "previewThumbnail.jpg");
obj.insert("type", "videoWallpaper");
QJsonArray tagsJsonArray;

View File

@ -33,6 +33,21 @@ CreateImportVideo::CreateImportVideo(const QString& videoPath, const QString& ex
{
m_videoPath = videoPath;
m_exportPath = exportPath;
#ifdef Q_OS_WIN
m_ffprobeExecutable = QApplication::applicationDirPath() + "/ffprobe.exe";
#endif
#if defined(Q_OS_MACOS) || defined(Q_OS_UNIX)
m_ffprobeExecutable = QApplication::applicationDirPath() + "/ffprobe";
#endif
#ifdef Q_OS_WIN
m_ffmpegExecutable = QApplication::applicationDirPath() + "/ffmpeg.exe";
#endif
#if defined(Q_OS_MACOS) || defined(Q_OS_UNIX)
m_ffmpegExecutable = QApplication::applicationDirPath() + "/ffmpeg";
#endif
qDebug() << m_ffmpegExecutable << m_ffprobeExecutable;
}
/*!
@ -55,6 +70,11 @@ void CreateImportVideo::process()
return;
}
if (!createWallpaperImageThumbnailPreview() || QThread::currentThread()->isInterruptionRequested()) {
emit abortAndCleanup();
return;
}
if (!createWallpaperImagePreview() || QThread::currentThread()->isInterruptionRequested()) {
emit abortAndCleanup();
return;
@ -105,45 +125,34 @@ bool CreateImportVideo::createWallpaperInfo()
args.append("-show_format");
args.append("-show_streams");
args.append(m_videoPath);
QScopedPointer<QProcess> pro(new QProcess());
emit processOutput("ffprobe " + Util::toString(args));
auto pro = std::make_shared<QProcess>();
pro->setArguments(args);
#ifdef Q_OS_WIN
pro->setProgram(QApplication::applicationDirPath() + "/ffprobe.exe");
#endif
#ifdef Q_OS_MACOS
pro->setProgram(QApplication::applicationDirPath() + "/ffprobe");
#endif
pro->setProgram(m_ffprobeExecutable);
pro->start();
emit createWallpaperStateChanged(ImportVideoState::AnalyseVideo);
while (!pro->waitForFinished(100)) {
if (QThread::currentThread()->isInterruptionRequested()) {
qDebug() << "Interrupt thread";
pro->terminate();
if (!pro->waitForFinished(1000)) {
pro->kill();
}
break;
}
QCoreApplication::processEvents();
}
waitForFinished(pro);
emit createWallpaperStateChanged(ImportVideoState::AnalyseVideoFinished);
QJsonObject obj;
QJsonParseError err;
QJsonDocument doc = QJsonDocument::fromJson(pro->readAll(), &err);
if (err.error != QJsonParseError::NoError) {
auto a = pro->readAll();
auto objOptional = Util::parseQByteArrayToQJsonObject(a);
if (!objOptional) {
qDebug() << "Error parsing ffmpeg json output";
emit processOutput(pro->readAll());
emit processOutput("Error parsing ffmpeg json output");
emit createWallpaperStateChanged(ImportVideoState::AnalyseVideoError);
return false;
}
obj = doc.object();
QJsonObject obj = objOptional.value();
if (obj.empty()) {
qDebug() << "Error! File could not be parsed.";
emit processOutput("Error! File could not be parsed.");
emit createWallpaperStateChanged(ImportVideoState::AnalyseVideoError);
pro->close();
return false;
@ -278,19 +287,14 @@ bool CreateImportVideo::createWallpaperVideoPreview()
// Disable audio
args.append("-an");
args.append(m_exportPath + "/preview.webm");
QScopedPointer<QProcess> proConvertPreviewWebM(new QProcess());
emit processOutput("ffmpeg " + Util::toString(args));
auto proConvertPreviewWebM = std::make_shared<QProcess>();
proConvertPreviewWebM->setArguments(args);
#ifdef Q_OS_WIN
proConvertPreviewWebM->setProgram(QApplication::applicationDirPath() + "/ffmpeg.exe");
#endif
#ifdef Q_OS_MACOS
proConvertPreviewWebM->setProgram(QApplication::applicationDirPath() + "/ffmpeg");
#endif
proConvertPreviewWebM->setProgram(m_ffmpegExecutable);
proConvertPreviewWebM->setProcessChannelMode(QProcess::MergedChannels);
connect(proConvertPreviewWebM.data(), &QProcess::readyReadStandardOutput, this, [&]() {
connect(proConvertPreviewWebM.get(), &QProcess::readyReadStandardOutput, this, [&]() {
QString tmpOut = proConvertPreviewWebM->readAllStandardOutput();
auto tmpList = tmpOut.split(QRegExp("\\s+"), QString::SkipEmptyParts);
@ -301,27 +305,15 @@ bool CreateImportVideo::createWallpaperVideoPreview()
if (!ok)
return;
qDebug() << currentFrame << static_cast<float>((m_framerate * 5));
float progress = currentFrame / static_cast<float>((m_framerate * 5));
this->setProgress(progress);
}
this->processOutput(tmpOut);
emit processOutput(tmpOut);
});
proConvertPreviewWebM->start();
while (!proConvertPreviewWebM->waitForFinished(100)) //Wake up every 100ms and check if we must exit
{
if (QThread::currentThread()->isInterruptionRequested()) {
qDebug() << "Interrupt thread";
proConvertPreviewWebM->terminate();
if (!proConvertPreviewWebM->waitForFinished(1000)) {
proConvertPreviewWebM->kill();
}
break;
}
QCoreApplication::processEvents();
}
waitForFinished(proConvertPreviewWebM);
QFile previewVideo(m_exportPath + "/preview.webm");
if (!previewVideo.exists() || !(previewVideo.size() > 0)) {
@ -329,7 +321,7 @@ bool CreateImportVideo::createWallpaperVideoPreview()
return false;
}
this->processOutput(proConvertPreviewWebM->readAll());
emit processOutput(proConvertPreviewWebM->readAll());
proConvertPreviewWebM->close();
emit createWallpaperStateChanged(ImportVideoState::ConvertingPreviewVideoFinished);
@ -364,29 +356,13 @@ bool CreateImportVideo::createWallpaperGifPreview()
args.append("-filter_complex");
args.append("[0:v] fps=12,scale=w=480:h=-1,split [a][b];[a] palettegen=stats_mode=single [p];[b][p] paletteuse=new=1");
args.append(m_exportPath + "/preview.gif");
emit processOutput("ffmpeg " + Util::toString(args));
auto proConvertGif = std::make_shared<QProcess>();
QScopedPointer<QProcess> proConvertGif(new QProcess());
proConvertGif->setArguments(args);
#ifdef Q_OS_WIN
proConvertGif->setProgram(QApplication::applicationDirPath() + "/ffmpeg.exe");
#endif
#ifdef Q_OS_MACOS
proConvertGif->setProgram(QApplication::applicationDirPath() + "/ffmpeg");
#endif
proConvertGif->setProgram(m_ffmpegExecutable);
proConvertGif->start();
while (!proConvertGif->waitForFinished(100)) //Wake up every 100ms and check if we must exit
{
if (QThread::currentThread()->isInterruptionRequested()) {
qDebug() << "Interrupt thread";
proConvertGif->terminate();
if (!proConvertGif->waitForFinished(1000)) {
proConvertGif->kill();
}
break;
}
QCoreApplication::processEvents();
}
waitForFinished(proConvertGif);
QString tmpErrGif = proConvertGif->readAllStandardError();
if (!tmpErrGif.isEmpty()) {
@ -397,7 +373,7 @@ bool CreateImportVideo::createWallpaperGifPreview()
}
}
this->processOutput(proConvertGif->readAll());
emit processOutput(proConvertGif->readAll());
proConvertGif->close();
emit createWallpaperStateChanged(ImportVideoState::ConvertingPreviewGifFinished);
@ -412,6 +388,51 @@ bool CreateImportVideo::createWallpaperGifPreview()
\li Generally broken.
\endlist
*/
bool CreateImportVideo::createWallpaperImageThumbnailPreview()
{
emit createWallpaperStateChanged(ImportVideoState::ConvertingPreviewImageThumbnail);
QStringList args;
args.clear();
args.append("-y");
args.append("-stats");
args.append("-ss");
args.append("00:00:02");
args.append("-i");
args.append(m_videoPath);
args.append("-vframes");
args.append("1");
args.append("-q:v");
args.append("2");
args.append("-vf");
args.append("scale=320:-1");
args.append(m_exportPath + "/previewThumbnail.jpg");
emit processOutput("ffmpeg " + Util::toString(args));
auto proConvertImage = std::make_shared<QProcess>();
proConvertImage->setArguments(args);
proConvertImage->setProgram(m_ffmpegExecutable);
proConvertImage->start();
waitForFinished(proConvertImage);
QString tmpErrImg = proConvertImage->readAllStandardError();
if (!tmpErrImg.isEmpty()) {
QFile previewImg(m_exportPath + "/previewThumbnail.jpg");
if (!previewImg.exists() || !(previewImg.size() > 0)) {
emit createWallpaperStateChanged(ImportVideoState::ConvertingPreviewImageThumbnailError);
return false;
}
}
emit processOutput(proConvertImage->readAll());
proConvertImage->close();
emit createWallpaperStateChanged(ImportVideoState::ConvertingPreviewImageThumbnailFinished);
return true;
}
bool CreateImportVideo::createWallpaperImagePreview()
{
@ -431,29 +452,18 @@ bool CreateImportVideo::createWallpaperImagePreview()
args.append("2");
args.append(m_exportPath + "/preview.jpg");
QScopedPointer<QProcess> proConvertImage(new QProcess());
emit processOutput("ffmpeg " + Util::toString(args));
auto proConvertImage = std::make_shared<QProcess>();
proConvertImage->setArguments(args);
#ifdef Q_OS_WIN
proConvertImage->setProgram(QApplication::applicationDirPath() + "/ffmpeg.exe");
#endif
#ifdef Q_OS_MACOS
#ifdef defined(Q_OS_MACOS) || defined(Q_OS_UNIX)
proConvertImage->setProgram(QApplication::applicationDirPath() + "/ffmpeg");
#endif
proConvertImage->start();
waitForFinished(proConvertImage);
while (!proConvertImage->waitForFinished(100)) //Wake up every 100ms and check if we must exit
{
if (QThread::currentThread()->isInterruptionRequested()) {
qDebug() << "Interrupt thread";
proConvertImage->terminate();
if (!proConvertImage->waitForFinished(1000)) {
proConvertImage->kill();
}
break;
}
QCoreApplication::processEvents();
}
QString tmpErrImg = proConvertImage->readAllStandardError();
if (!tmpErrImg.isEmpty()) {
QFile previewImg(m_exportPath + "/preview.jpg");
@ -463,7 +473,7 @@ bool CreateImportVideo::createWallpaperImagePreview()
}
}
this->processOutput(proConvertImage->readAll());
emit processOutput(proConvertImage->readAll());
proConvertImage->close();
emit createWallpaperStateChanged(ImportVideoState::ConvertingPreviewImageFinished);
@ -499,41 +509,41 @@ bool CreateImportVideo::createWallpaperVideo()
emit createWallpaperStateChanged(ImportVideoState::ConvertingVideo);
QStringList args;
args.clear();
args.append("-hide_banner");
args.append("-y");
args.append("-stats");
args.append("-i");
args.append(m_videoPath);
args.append("-c:v");
args.append("libvpx-vp8");
args.append("-crf");
args.append("30");
args.append("-pix_fmt");
args.append("yuv420p");
args.append("libvpx");
args.append("-b:v");
args.append("0");
args.append("-crf");
args.append("10");
args.append("-pass");
args.append("1");
QFileInfo file(m_videoPath);
QString convertedFileAbsolutePath { m_exportPath + "/" + file.baseName() + ".webm" };
args.append(convertedFileAbsolutePath);
QScopedPointer<QProcess> proConvertVideo(new QProcess());
proConvertVideo->setArguments(args);
#ifdef Q_OS_WIN
proConvertVideo->setProgram(QApplication::applicationDirPath() + "/ffmpeg.exe");
args.append("-an");
args.append("-f");
args.append("webm");
args.append("NULL");
#endif
#ifdef Q_OS_MACOS
proConvertVideo->setProgram(QApplication::applicationDirPath() + "/ffmpeg");
args.append("-an");
args.append("-f");
args.append("webm");
args.append("/dev/null");
#endif
proConvertVideo->setProcessChannelMode(QProcess::MergedChannels);
connect(proConvertVideo.data(), &QProcess::errorOccurred, this, [&](QProcess::ProcessError error) {
qDebug() << error;
});
connect(proConvertVideo.data(), &QProcess::readyReadStandardOutput, this, [&]() {
QString tmpOut = proConvertVideo->readAllStandardOutput();
auto proConvertVideoPass1 = std::make_shared<QProcess>();
proConvertVideoPass1->setArguments(args);
proConvertVideoPass1->setProgram(m_ffmpegExecutable);
proConvertVideoPass1->setProcessChannelMode(QProcess::MergedChannels);
connect(proConvertVideoPass1.get(), &QProcess::readyReadStandardOutput, this, [&]() {
QString tmpOut = proConvertVideoPass1->readAllStandardOutput();
if (tmpOut.contains("Conversion failed!")) {
emit createWallpaperStateChanged(ImportVideoState::ConvertingVideoError);
}
@ -546,36 +556,73 @@ bool CreateImportVideo::createWallpaperVideo()
if (!ok)
return;
float progress = currentFrame / m_numberOfFrames;
float progress = (currentFrame / m_numberOfFrames) / 2;
this->setProgress(progress);
}
this->processOutput(tmpOut);
emit processOutput(tmpOut);
});
proConvertVideo->start();
proConvertVideoPass1->start();
waitForFinished(proConvertVideoPass1);
proConvertVideoPass1->close();
while (!proConvertVideo->waitForFinished(100)) //Wake up every 100ms and check if we must exit
{
if (QThread::currentThread()->isInterruptionRequested()) {
qDebug() << "Interrupt thread";
proConvertVideo->terminate();
if (!proConvertVideo->waitForFinished(1000)) {
proConvertVideo->kill();
}
break;
args.clear();
args.append("-hide_banner");
args.append("-y");
args.append("-stats");
args.append("-i");
args.append(m_videoPath);
args.append("-c:v");
args.append("libvpx");
args.append("-b:v");
args.append("0");
args.append("-crf");
args.append("10");
args.append("-pass");
args.append("2");
QFileInfo file(m_videoPath);
QString convertedFileAbsolutePath { m_exportPath + "/" + file.baseName() + ".webm" };
args.append(convertedFileAbsolutePath);
auto proConvertVideoPass2 = std::make_shared<QProcess>();
proConvertVideoPass2->setArguments(args);
proConvertVideoPass2->setProgram(m_ffmpegExecutable);
proConvertVideoPass2->setProcessChannelMode(QProcess::MergedChannels);
connect(proConvertVideoPass2.get(), &QProcess::readyReadStandardOutput, this, [&]() {
QString tmpOut = proConvertVideoPass2->readAllStandardOutput();
if (tmpOut.contains("Conversion failed!")) {
emit createWallpaperStateChanged(ImportVideoState::ConvertingVideoError);
}
QCoreApplication::processEvents();
}
auto tmpList = tmpOut.split(QRegExp("\\s+"), QString::SkipEmptyParts);
if (tmpList.length() > 2) {
bool ok = false;
float currentFrame = QString(tmpList.at(1)).toFloat(&ok);
if (!ok)
return;
float progress = 0.5 + ((currentFrame / m_numberOfFrames) / 2);
this->setProgress(progress);
}
emit processOutput(tmpOut);
});
proConvertVideoPass2->start();
waitForFinished(proConvertVideoPass2);
proConvertVideoPass2->close();
QFile video(convertedFileAbsolutePath);
if (!video.exists() || !(video.size() > 0)) {
qDebug() << convertedFileAbsolutePath << proConvertVideo->readAll();
qDebug() << convertedFileAbsolutePath << proConvertVideoPass1->readAll() << video.exists() << video.size();
emit createWallpaperStateChanged(ImportVideoState::ConvertingVideoError);
return false;
}
proConvertVideo->close();
emit createWallpaperStateChanged(ImportVideoState::ConvertingVideoFinished);
return true;
@ -602,7 +649,6 @@ bool CreateImportVideo::extractWallpaperAudio()
emit createWallpaperStateChanged(ImportVideoState::ConvertingAudio);
QStringList args;
args.clear();
args.append("-y");
args.append("-stats");
args.append("-i");
@ -614,28 +660,12 @@ bool CreateImportVideo::extractWallpaperAudio()
args.append("-vn");
args.append(m_exportPath + "/audio.mp3");
QScopedPointer<QProcess> proConvertAudio(new QProcess());
auto proConvertAudio = std::make_shared<QProcess>();
proConvertAudio->setArguments(args);
#ifdef Q_OS_WIN
proConvertAudio->setProgram(QApplication::applicationDirPath() + "/ffmpeg.exe");
#endif
#ifdef Q_OS_MACOS
proConvertAudio->setProgram(QApplication::applicationDirPath() + "/ffmpeg");
#endif
proConvertAudio->setProgram(m_ffmpegExecutable);
proConvertAudio->start(QIODevice::ReadOnly);
while (!proConvertAudio->waitForFinished(100)) //Wake up every 100ms and check if we must exit
{
if (QThread::currentThread()->isInterruptionRequested()) {
qDebug() << "Interrupt thread";
proConvertAudio->terminate();
if (!proConvertAudio->waitForFinished(1000)) {
proConvertAudio->kill();
}
break;
}
QCoreApplication::processEvents();
}
waitForFinished(proConvertAudio);
QString tmpErrImg = proConvertAudio->readAllStandardError();
if (!tmpErrImg.isEmpty()) {
@ -648,11 +678,27 @@ bool CreateImportVideo::extractWallpaperAudio()
}
}
this->processOutput(proConvertAudio->readAll());
emit processOutput(proConvertAudio->readAll());
proConvertAudio->close();
emit createWallpaperStateChanged(ImportVideoState::ConvertingAudioFinished);
return true;
}
void CreateImportVideo::waitForFinished(std::shared_ptr<QProcess>& process)
{
while (!process->waitForFinished(100)) //Wake up every 100ms and check if we must exit
{
if (QThread::currentThread()->isInterruptionRequested()) {
qDebug() << "Interrupt thread";
process->terminate();
if (!process->waitForFinished(1000)) {
process->kill();
}
break;
}
QCoreApplication::processEvents();
}
}
}

View File

@ -16,6 +16,8 @@
#include <QThread>
#include <QtMath>
#include "util.h"
namespace ScreenPlay {
class CreateImportVideo : public QObject {
@ -54,14 +56,17 @@ public:
ConvertingPreviewVideoFinished,
ConvertingPreviewVideoError,
ConvertingPreviewGif,
ConvertingPreviewGifFinished,
ConvertingPreviewGifFinished, //10
ConvertingPreviewGifError,
ConvertingPreviewImage,
ConvertingPreviewImageFinished,
ConvertingPreviewImageError,
ConvertingPreviewImageThumbnail,
ConvertingPreviewImageThumbnailFinished,
ConvertingPreviewImageThumbnailError,
ConvertingAudio,
ConvertingAudioFinished,
ConvertingAudioError,
ConvertingAudioError, //20
ConvertingVideo,
ConvertingVideoFinished,
ConvertingVideoError,
@ -71,7 +76,7 @@ public:
CreateProjectFile,
CreateProjectFileFinished,
CreateProjectFileError,
AbortCleanupError,
AbortCleanupError, //30
CreateTmpFolderError,
Finished,
};
@ -91,7 +96,6 @@ signals:
public slots:
void process();
void requestInterruption() {}
bool createWallpaperInfo();
bool createWallpaperVideoPreview();
@ -99,6 +103,7 @@ public slots:
bool createWallpaperImagePreview();
bool createWallpaperVideo();
bool extractWallpaperAudio();
bool createWallpaperImageThumbnailPreview();
void setProgress(float progress)
{
@ -111,6 +116,12 @@ public slots:
m_progress = progress;
emit progressChanged(m_progress);
}
private:
void waitForFinished(std::shared_ptr<QProcess>& process);
QString m_ffprobeExecutable;
QString m_ffmpegExecutable;
};
}
Q_DECLARE_METATYPE(ScreenPlay::CreateImportVideo::ImportVideoState)

View File

@ -90,61 +90,49 @@ QHash<int, QByteArray> InstalledListModel::roleNames() const
void InstalledListModel::append(const QJsonObject& obj, const QString& folderName)
{
beginInsertRows(QModelIndex(), m_screenPlayFiles.size(), m_screenPlayFiles.size());
m_screenPlayFiles.append(ProjectFile(obj, folderName, m_globalVariables->localStoragePath()));
setCount((m_count + 1));
endInsertRows();
}
void InstalledListModel::loadInstalledContent()
{
QtConcurrent::run([this]() {
QJsonDocument jsonProject;
QJsonParseError parseError;
QFileInfoList list = QDir(m_globalVariables->localStoragePath().toLocalFile()).entryInfoList(QDir::NoDotAndDotDot | QDir::AllDirs);
QString tmpPath;
QString projectItemPath;
int counter {};
for (auto&& item : list) {
tmpPath = m_globalVariables->localStoragePath().toLocalFile() + "/" + item.baseName() + "/project.json";
projectItemPath = m_globalVariables->localStoragePath().toLocalFile() + "/" + item.baseName() + "/project.json";
if (!QFile(tmpPath).exists())
continue;
if (auto obj = Util::openJsonFileToObject(projectItemPath)) {
QFile projectConfig;
projectConfig.setFileName(tmpPath);
projectConfig.open(QIODevice::ReadOnly | QIODevice::Text);
QString projectConfigData = projectConfig.readAll();
jsonProject = QJsonDocument::fromJson(projectConfigData.toUtf8(), &parseError);
QJsonObject obj = jsonProject.object();
if (obj.value().isEmpty())
continue;
if (!(parseError.error == QJsonParseError::NoError))
continue;
if (!obj.value().contains("file") || !obj.value().contains("type"))
continue;
if (jsonProject.isEmpty() || jsonProject.object().empty())
continue;
QStringList availableTypes {
"qmlWallpaper",
"htmlWallpaper",
"videoWallpaper",
"godotWallpaper",
if (!obj.contains("file") || !obj.contains("type"))
continue;
"qmlWidget",
"htmlWidget",
"standaloneWidget"
};
QStringList availableTypes {
"qmlWallpaper",
"htmlWallpaper",
"videoWallpaper",
"godotWallpaper",
if (availableTypes.contains(obj.value().value("type").toString())) {
emit addInstalledItem(obj.value(), item.baseName());
}
"qmlWidget",
"htmlWidget",
"standaloneWidget"
};
if (availableTypes.contains(obj.value("type").toString()))
emit addInstalledItem(obj, item.baseName());
counter += 1;
}
}
setCount(counter);
emit installedLoadingFinished();
});
}
@ -177,7 +165,6 @@ void InstalledListModel::reset()
beginResetModel();
m_screenPlayFiles.clear();
m_screenPlayFiles.squeeze();
setCount(0);
endResetModel();
loadInstalledContent();
}

View File

@ -21,6 +21,7 @@
#include "globalvariables.h"
#include "profilelistmodel.h"
#include "projectfile.h"
#include "util.h"
#include <memory>

View File

@ -26,8 +26,12 @@ struct ProjectFile {
if (obj.contains("file"))
m_file = obj.value("file");
if (obj.contains("preview"))
m_preview = obj.value("preview");
if (obj.contains("previewThumbnail")){
m_preview = obj.value("previewThumbnail");
} else {
if (obj.contains("preview"))
m_preview = obj.value("preview");
}
if (obj.contains("previewGIF"))
m_previewGIF = obj.value("previewGIF");

View File

@ -10,15 +10,17 @@ namespace ScreenPlay {
Creates and (indirectly) destroys Wallpaper and Widgets via opening and closing QLocalPipe connectons of the ScreenPlaySDK.
Also responsible to set the current active wallpaper to the monitorListModel.
*/
ScreenPlayManager::ScreenPlayManager(
const shared_ptr<GlobalVariables>& globalVariables,
const shared_ptr<MonitorListModel>& mlm,
const shared_ptr<SDKConnector>& sdkc,
const shared_ptr<SDKConnector>& sdkc, const shared_ptr<GAnalytics>& tracker,
QObject* parent)
: QObject { parent }
, m_globalVariables { globalVariables }
, m_monitorListModel { mlm }
, m_sdkconnector { sdkc }
, m_tracker { tracker }
{
loadWallpaperProfiles();
}
@ -39,6 +41,7 @@ void ScreenPlayManager::createWallpaper(
const bool saveToProfilesConfigFile)
{
m_tracker->sendEvent("wallpaper","start");
QString path = absoluteStoragePath;
if (absoluteStoragePath.contains("file:///"))
@ -105,6 +108,7 @@ void ScreenPlayManager::createWallpaper(
*/
void ScreenPlayManager::createWidget(const QUrl& absoluteStoragePath, const QString& previewImage)
{
m_tracker->sendEvent("widget","start");
increaseActiveWidgetsCounter();
m_screenPlayWidgets.append(
@ -124,6 +128,7 @@ void ScreenPlayManager::createWidget(const QUrl& absoluteStoragePath, const QStr
void ScreenPlayManager::removeAllWallpapers()
{
if (!m_screenPlayWallpapers.empty()) {
m_tracker->sendEvent("wallpaper","stopAll");
m_sdkconnector->closeAllWallpapers();
m_screenPlayWallpapers.clear();
m_monitorListModel->clearActiveWallpaper();
@ -164,6 +169,7 @@ void ScreenPlayManager::removeAllWallpapers()
*/
bool ScreenPlayManager::removeWallpaperAt(int at)
{
m_tracker->sendEvent("wallpaper","removeSingleWallpaper");
if (auto appID = m_monitorListModel->getAppIDByMonitorIndex(at)) {
m_sdkconnector->closeWallpaper(appID.value());

View File

@ -5,6 +5,7 @@
#include <QPoint>
#include <QProcess>
#include "ganalytics.h"
#include "globalvariables.h"
#include "installedlistmodel.h"
#include "monitorlistmodel.h"
@ -40,6 +41,7 @@ public:
const shared_ptr<GlobalVariables>& globalVariables,
const shared_ptr<MonitorListModel>& mlm,
const shared_ptr<SDKConnector>& sdkc,
const shared_ptr<GAnalytics>& tracker,
QObject* parent = nullptr);
int activeWallpaperCounter() const
@ -129,6 +131,7 @@ private:
const shared_ptr<GlobalVariables>& m_globalVariables;
const shared_ptr<MonitorListModel>& m_monitorListModel;
const shared_ptr<SDKConnector>& m_sdkconnector;
const shared_ptr<GAnalytics>& m_tracker;
QVector<shared_ptr<ScreenPlayWallpaper>> m_screenPlayWallpapers;
QVector<shared_ptr<ScreenPlayWidget>> m_screenPlayWidgets;

View File

@ -45,11 +45,6 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
{
setGitBuildHash(GIT_VERSION);
#ifdef QT_NO_DEBUG
qInfo() << "ScreenPlay git hash: " << gitBuildHash();
#endif
setupLanguage();
if (m_qSettings.value("ScreenPlayExecutable").isNull()) {
@ -72,6 +67,8 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
if (!settingsFile.exists()) {
qInfo("No Settings found, creating default settings");
writeJsonFileFromResource("settings");
setAutostart(true);
setAnonymousTelemetry(true);
}
// Wallpaper and Widgets config
@ -82,6 +79,11 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
}
std::optional<QJsonObject> configObj = Util::openJsonFileToObject(appConfigLocation + "/settings.json");
if (!configObj) {
restoreDefault(appConfigLocation, "settings");
}
std::optional<QVersionNumber> version = Util::getVersionNumberFromString(configObj.value().value("version").toString());
//Checks if the settings file has the same version as ScreenPlay
@ -182,7 +184,7 @@ bool Settings::writeSingleSettingConfig(QString name, QVariant value)
}
QJsonObject newConfig = obj.value();
newConfig.insert(name, value.toString());
newConfig.insert(name, QJsonValue::fromVariant(value));
return Util::writeJsonObjectToFile(filename, newConfig);
}
@ -274,6 +276,18 @@ void Settings::setupWidgetAndWindowPaths()
matching translation is available we set it to english. This function gets called from the UI when
the user manually changes the language.
*/
void Settings::restoreDefault(const QString& appConfigLocation, const QString& settingsFileType)
{
QString fullSettingsPath { appConfigLocation + "/" + settingsFileType + ".json" };
qWarning() << "Unable to load config from " << fullSettingsPath
<< ". Restoring default!";
QFile file { fullSettingsPath };
file.remove();
writeJsonFileFromResource(settingsFileType);
setAutostart(true);
setAnonymousTelemetry(true);
}
void Settings::setupLanguage()
{
auto* app = static_cast<QGuiApplication*>(QGuiApplication::instance());

View File

@ -236,6 +236,9 @@ public slots:
emit anonymousTelemetryChanged(m_anonymousTelemetry);
}
private:
void restoreDefault(const QString& appConfigLocation, const QString& settingsFileType);
private:
QVersionNumber m_version;
QSettings m_qSettings;

View File

@ -165,6 +165,14 @@ bool Util::writeJsonObjectToFile(const QString& absoluteFilePath, const QJsonObj
return true;
}
QString Util::toString(const QStringList& list)
{
QString out;
for (auto string : list) {
out += " " + string;
}
return out;
}
QString Util::fixWindowsPath(QString url)
{
@ -175,6 +183,20 @@ QString Util::fixWindowsPath(QString url)
/*!
Opens a native folder window on the given path. Windows and Mac only for now!
*/
std::optional<QJsonObject> Util::parseQByteArrayToQJsonObject(const QByteArray &byteArray)
{
QJsonObject obj;
QJsonParseError err;
QJsonDocument doc = QJsonDocument::fromJson(byteArray, &err);
if (err.error == QJsonParseError::NoError) {
obj = doc.object();
return { obj };
}
return std::nullopt;
}
void Util::openFolderInExplorer(const QString& url) const
{
QString fileString { "file:///" };
@ -249,7 +271,7 @@ void Util::Util::requestAllLicenses()
Loads all dataprotection of the legal folder in the qrc into a property string of this class.
allDataProtectionLoaded is emited when loading is finished.
*/
void Util::Util::requestAllLDataProtection()
void Util::Util::requestDataProtection()
{
QtConcurrent::run([this]() {
QString tmp;

View File

@ -84,15 +84,17 @@ public slots:
void openFolderInExplorer(const QString &url) const;
void requestAllLicenses();
void requestAllLDataProtection();
void requestDataProtection();
void downloadFFMPEG();
QString fixWindowsPath(QString url);
static std::optional<QJsonObject> parseQByteArrayToQJsonObject(const QByteArray& byteArray);
static std::optional<QJsonObject> openJsonFileToObject(const QString& path);
static std::optional<QString> openJsonFileToString(const QString& path);
static std::optional<QVersionNumber> getVersionNumberFromString(const QString& str);
static bool writeJsonObjectToFile(const QString& absoluteFilePath, const QJsonObject& object, bool truncate = true);
static QString toString(const QStringList& list);
static void logToGui(QtMsgType type, const QMessageLogContext& context, const QString& msg);
static QString generateRandomString(quint32 length = 32);

View File

@ -4,32 +4,32 @@
<context>
<name>Community</name>
<message>
<location filename="../qml/Community/Community.qml" line="62"/>
<location filename="../qml/Community/Community.qml" line="61"/>
<source>We use Stomt because it provides quick and easy feedback via I like/I wish. So you can easily give us feedback and speak your mind. We will read these wishes on a daily basis!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="106"/>
<location filename="../qml/Community/Community.qml" line="105"/>
<source>Open ScreenPlay Stomt page</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="196"/>
<location filename="../qml/Community/Community.qml" line="195"/>
<source>Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="207"/>
<location filename="../qml/Community/Community.qml" line="206"/>
<source>Blog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="218"/>
<location filename="../qml/Community/Community.qml" line="217"/>
<source>Source Code</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="230"/>
<location filename="../qml/Community/Community.qml" line="229"/>
<source>Workshop</source>
<translation type="unfinished"></translation>
</message>
@ -37,66 +37,38 @@
<context>
<name>Create</name>
<message>
<location filename="../qml/Create/Create.qml" line="211"/>
<location filename="../qml/Create/Create.qml" line="218"/>
<source>Create wallpapers and widgets for local usage or the steam workshop!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="236"/>
<location filename="../qml/Create/Create.qml" line="243"/>
<source>QML Quickstart Guide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="247"/>
<location filename="../qml/Create/Create.qml" line="254"/>
<source>Documentation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="258"/>
<location filename="../qml/Create/Create.qml" line="265"/>
<source>Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="269"/>
<location filename="../qml/Create/Create.qml" line="276"/>
<source>Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateImport</name>
<message>
<location filename="../qml/Create/CreateImport.qml" line="107"/>
<source>Select Image Manually</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateImport.qml" line="137"/>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateImport.qml" line="137"/>
<source></source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/CreateImport.qml" line="143"/>
<source>Import Video</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateImportStatus</name>
<message>
<location filename="../qml/Create/CreateImportStatus.qml" line="121"/>
<source>Create another Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateImportStatus.qml" line="129"/>
<source>Upload Wallpaper to Steam</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateUpload</name>
@ -106,32 +78,32 @@
<translation></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="243"/>
<location filename="../qml/Create/CreateUpload.qml" line="245"/>
<source>Videos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="250"/>
<location filename="../qml/Create/CreateUpload.qml" line="252"/>
<source>Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="257"/>
<location filename="../qml/Create/CreateUpload.qml" line="259"/>
<source>Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="264"/>
<location filename="../qml/Create/CreateUpload.qml" line="266"/>
<source>AppDrawer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="271"/>
<location filename="../qml/Create/CreateUpload.qml" line="273"/>
<source>Upload to Steam</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="320"/>
<location filename="../qml/Create/CreateUpload.qml" line="322"/>
<source>Creating Workshop Item</source>
<translation type="unfinished"></translation>
</message>
@ -139,8 +111,8 @@
<context>
<name>CreateWallpaper</name>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="24"/>
<source>Import Video Wallpaper</source>
<location filename="../qml/Create/CreateWallpaper.qml" line="25"/>
<source>Import Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -149,16 +121,117 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="157"/>
<source>Convert Video</source>
<location filename="../qml/Create/CreateWallpaper.qml" line="77"/>
<source>FFMPEG Needed for import</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="238"/>
<location filename="../qml/Create/CreateWallpaper.qml" line="159"/>
<source>Import ThreeJs Scene</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="241"/>
<source>Upload Exsisting Project to Steam</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaperResult</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="18"/>
<source>An error occurred!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="70"/>
<source>Back to create and send an error report!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaperVideoImportConvert</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="37"/>
<source>Generating preview image...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="44"/>
<source>Generating 5 second preview video...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="47"/>
<source>Generating preview gif...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="56"/>
<source>Converting Audio...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="59"/>
<source>Converting Video... This can take some time!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="63"/>
<source>Converting Video ERROR!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="85"/>
<source>Convert a video to a wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="164"/>
<source></source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="176"/>
<source>Generating preview video...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="187"/>
<source>You can set your own preview image here!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="223"/>
<source>Name (required!)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="237"/>
<source>Description</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="244"/>
<source>Youtube URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="268"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="280"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="315"/>
<source>Save Wallpaper...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWidget</name>
<message>
@ -177,64 +250,224 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="75"/>
<location filename="../qml/Create/CreateWidget.qml" line="77"/>
<source>Simple clock widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="86"/>
<location filename="../qml/Create/CreateWidget.qml" line="88"/>
<source>Musik scene wallpaper visualizer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="97"/>
<location filename="../qml/Create/CreateWidget.qml" line="99"/>
<source>Changing scene wallpaper via unsplash.com</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FileDropper</name>
<name>DefaultVideoControls</name>
<message>
<location filename="../qml/FileDropper.qml" line="64"/>
<source>Bad File!!</source>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="26"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="32"/>
<source>Playback rate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="38"/>
<source>Current Video Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="50"/>
<source>Fill Mode</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FFMPEGPopup</name>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="31"/>
<source>Begin downloading FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="35"/>
<source>FFMPEG download failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="39"/>
<source>FFMPEG download successful</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="42"/>
<source>Extracting FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="46"/>
<source>ERROR extracting ffmpeg from RAM</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="51"/>
<source>ERROR extracing ffmpeg</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="56"/>
<source>ERROR saving FFMPEG to disk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="61"/>
<source>ERROR extracing FFPROBE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="66"/>
<source>ERROR saving FFPROBE to disk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="70"/>
<source>Extraction successful</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="73"/>
<source>All done and ready to go!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="88"/>
<source>You cannot create Wallaper without FFMPEG installed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="109"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="119"/>
<location filename="../qml/Create/FFMPEGPopup.qml" line="286"/>
<source>Download FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="141"/>
<source>Before we can start creating content you need to download FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="241"/>
<source>&lt;b&gt;Why do we bother you with this?&lt;/b&gt;
&lt;br&gt;&lt;br&gt; Well its because of &lt;b&gt;copyright&lt;/b&gt; and many many &lt;b&gt;patents&lt;/b&gt;.
Files like .mp4 or .webm are containers for video and audio. Every audio
and video file is encoded with a certain codec. These can be open sour
ceand free to use like &lt;a href=&apos;https://wikipedia.org/wiki/VP8&apos;&gt;VP8&lt;/a&gt; and the newer &lt;a href=&apos;https://wikipedia.org/wiki/VP9&apos;&gt;VP9&lt;/a&gt; (the one YouTube uses for their web
ms)but there are also some proproatary ones like &lt;a href=&apos;https://wikipedia.org/wiki/H.264/MPEG-4_AVC&apos;&gt;h264&lt;/a&gt; and the successor &lt;a href=&apos;https://wikipedia.org/wiki/High_Efficiency_Video_Coding&apos;&gt;h265&lt;/a&gt;.
&lt;br&gt;
&lt;br&gt;
We as software developer now need to deal with stuff like this in a field we
are do not have any expertise in. The desicion to enable only free codecs for content was
an easy one but we still need to provide a way for our user to import wallpape
r without a hassle. We do not provide &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; f
or converting video and audio with ScreenPlay because we are not allowed to. We let the user download &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; wich is perfectly fine!
&lt;br&gt;
Sorry for this little inconvenience :)
&lt;br&gt;
&lt;br&gt;
&lt;center&gt;
&lt;b&gt;
IF YOU DO NOT HAVE A INTERNET CONNECT YOU CAN SIMPLY PUT FFMPEG AND FFPROBE
IN THE SAME FOLDER AS YOUR SCREENPLAY EXECUTABLE!
&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
This is usually:
&lt;br&gt; C:Program Files (x86)SteamsteamappscommonScreenPlay
&lt;br&gt;
if you installed ScreenPlay via Steam!
&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;~ Kelteseth | Elias Steurer&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="293"/>
<source>Not now!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="336"/>
<source>You can now start creating content!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="368"/>
<source>Start!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ImageSelector</name>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="139"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="153"/>
<source>Open Image</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Installed</name>
<message>
<location filename="../qml/Installed/Installed.qml" line="82"/>
<location filename="../qml/Installed/Installed.qml" line="93"/>
<source>Refreshing!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="85"/>
<location filename="../qml/Installed/Installed.qml" line="107"/>
<location filename="../qml/Installed/Installed.qml" line="96"/>
<location filename="../qml/Installed/Installed.qml" line="118"/>
<source>Pull to refresh!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="122"/>
<location filename="../qml/Installed/Installed.qml" line="133"/>
<source>Get more Wallpaper &amp; Widgets via the Steam workshop!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="265"/>
<location filename="../qml/Installed/Installed.qml" line="267"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="274"/>
<location filename="../qml/Installed/Installed.qml" line="276"/>
<source>Videos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="283"/>
<location filename="../qml/Installed/Installed.qml" line="285"/>
<source>Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="292"/>
<location filename="../qml/Installed/Installed.qml" line="294"/>
<source>Widgets</source>
<translation type="unfinished"></translation>
</message>
@ -244,87 +477,64 @@
<translation></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="329"/>
<location filename="../qml/Installed/Installed.qml" line="336"/>
<source>Search for Wallpaper &amp; Widgets</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>InstalledUserHelper</name>
<name>InstalledWelcomeScreen</name>
<message>
<location filename="../qml/Installed/InstalledUserHelper.qml" line="58"/>
<source>Make your desktop more:</source>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="54"/>
<source>Get free Widgets and Wallpaper via the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/InstalledUserHelper.qml" line="71"/>
<source>DISTINCT</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/InstalledUserHelper.qml" line="99"/>
<source>Get free Widgets and Wallpaper</source>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="84"/>
<source>Browse the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Monitors</name>
<message>
<location filename="../qml/Monitors.qml" line="61"/>
<location filename="../qml/Monitors/Monitors.qml" line="65"/>
<source>Wallpaper Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors.qml" line="119"/>
<source>Remove all wallpaper</source>
<location filename="../qml/Monitors/Monitors.qml" line="131"/>
<source>Remove selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors.qml" line="146"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors.qml" line="150"/>
<source>Playback rate</source>
<location filename="../qml/Monitors/Monitors.qml" line="142"/>
<source>Remove all Wallpapers</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NavigationWallpaperConfiguration</name>
<message>
<location filename="../qml/NavigationWallpaperConfiguration.qml" line="57"/>
<source>Configurate active Wallpaper</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NextButton</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/NextButton.qml" line="10"/>
<source>Next</source>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="65"/>
<source>Configurate active Wallpaper or Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/NextButton.qml" line="20"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/NextButton.qml" line="27"/>
<source>Creating</source>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="67"/>
<source>No active Wallpaper or Widgets</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScreenPlayItem</name>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="242"/>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="222"/>
<source>Open containing folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="249"/>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="229"/>
<source>Open workshop Page</source>
<translation type="unfinished"></translation>
</message>
@ -332,194 +542,229 @@
<context>
<name>Settings</name>
<message>
<location filename="../qml/Settings/Settings.qml" line="67"/>
<location filename="../qml/Settings/Settings.qml" line="69"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="85"/>
<location filename="../qml/Settings/Settings.qml" line="87"/>
<source>Autostart</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="86"/>
<location filename="../qml/Settings/Settings.qml" line="88"/>
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="97"/>
<location filename="../qml/Settings/Settings.qml" line="98"/>
<source>High priority Autostart</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="100"/>
<location filename="../qml/Settings/Settings.qml" line="101"/>
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="112"/>
<location filename="../qml/Settings/Settings.qml" line="113"/>
<source>Send anonymous crash reports and statistics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="113"/>
<location filename="../qml/Settings/Settings.qml" line="114"/>
<source>Help us make ScreenPlay faster and more stable. All collected data is purely anonymous and only used for development purposes!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="126"/>
<location filename="../qml/Settings/Settings.qml" line="125"/>
<source>Set save location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="128"/>
<location filename="../qml/Settings/Settings.qml" line="127"/>
<source>Set location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="142"/>
<location filename="../qml/Settings/Settings.qml" line="143"/>
<source>Important: Changing this directory has no effect on the workshop download path. ScreenPlay only supports having one content folder!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="163"/>
<location filename="../qml/Settings/Settings.qml" line="162"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="164"/>
<location filename="../qml/Settings/Settings.qml" line="163"/>
<source>Set the ScreenPlay UI Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="234"/>
<location filename="../qml/Settings/Settings.qml" line="241"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="255"/>
<source>Pause wallpaper when ingame</source>
<location filename="../qml/Settings/Settings.qml" line="261"/>
<source>Pause wallpaper while ingame</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="256"/>
<location filename="../qml/Settings/Settings.qml" line="263"/>
<source>To maximise your framerates ingame, you can enable this setting to pause all active wallpapers!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="267"/>
<location filename="../qml/Settings/Settings.qml" line="276"/>
<source>Default Fill Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="268"/>
<location filename="../qml/Settings/Settings.qml" line="277"/>
<source>Set this property to define how the video is scaled to fit the target area.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="318"/>
<location filename="../qml/Settings/Settings.qml" line="326"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="393"/>
<location filename="../qml/Settings/Settings.qml" line="366"/>
<source>Hi, I&apos;m Elias Steurer also known as Kelteseth and I&apos;m the developer of ScreenPlay. Thank you for using my software. You can follow me to receive updates about ScreenPlay here:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="453"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="454"/>
<source>ScreenPlay Build Version </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="456"/>
<source>Open Changelog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="463"/>
<source>Third Party Software</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="394"/>
<location filename="../qml/Settings/Settings.qml" line="464"/>
<source>ScreenPlay would not be possible without the work of others. A big thank you to: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="395"/>
<location filename="../qml/Settings/Settings.qml" line="465"/>
<source>Licenses</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="419"/>
<location filename="../qml/Settings/Settings.qml" line="487"/>
<location filename="../qml/Settings/Settings.qml" line="489"/>
<source>Debug Messages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="488"/>
<source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="504"/>
<source>Data Protection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="420"/>
<location filename="../qml/Settings/Settings.qml" line="505"/>
<source>We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="421"/>
<location filename="../qml/Settings/Settings.qml" line="506"/>
<source>Privacy</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsExpander</name>
<message>
<location filename="../qml/Settings/SettingsExpander.qml" line="46"/>
<source>Copy text to clipboard</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Sidebar</name>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="162"/>
<location filename="../qml/Installed/Sidebar.qml" line="187"/>
<source>Headline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="183"/>
<location filename="../qml/Installed/Sidebar.qml" line="238"/>
<source>Select a Monitor to display the content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="237"/>
<source>Volume</source>
<location filename="../qml/Installed/Sidebar.qml" line="262"/>
<source>Set Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="292"/>
<location filename="../qml/Installed/Sidebar.qml" line="272"/>
<source>Fill Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="334"/>
<location filename="../qml/Installed/Sidebar.qml" line="309"/>
<source>Set wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="417"/>
<location filename="../qml/Installed/Sidebar.qml" line="403"/>
<location filename="../qml/Installed/Sidebar.qml" line="491"/>
<source>Set Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="478"/>
<location filename="../qml/Installed/Sidebar.qml" line="443"/>
<source>Set Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="521"/>
<location filename="../qml/Installed/Sidebar.qml" line="464"/>
<source>Set Scene</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>StartupErrorWindow</name>
<name>TagSelector</name>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="147"/>
<source>Could not connect to Steam :(</source>
<location filename="../qml/Common/TagSelector.qml" line="11"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="163"/>
<source>To use ScreenPlay with all its features you have to have Steam running!</source>
<location filename="../qml/Common/TagSelector.qml" line="14"/>
<source>Add tag</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="187"/>
<source>Close ScreenPlay</source>
<location filename="../qml/Common/TagSelector.qml" line="107"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="194"/>
<source>Continue using ScreenPlay offline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="204"/>
<source>Seek help in our greate community!</source>
<location filename="../qml/Common/TagSelector.qml" line="125"/>
<source>Add Tag</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -534,34 +779,39 @@
<context>
<name>main</name>
<message>
<location filename="../main.qml" line="118"/>
<source>Open ScreenPlay</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="126"/>
<location filename="../main.qml" line="130"/>
<source>Mute all</source>
<location filename="../main.qml" line="115"/>
<source>ScreenPlay - Double click to change you settings.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="134"/>
<source>Unmute all</source>
<source>Open ScreenPlay</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="142"/>
<location filename="../main.qml" line="146"/>
<source>Pause all</source>
<source>Mute all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="150"/>
<source>Unmute all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="158"/>
<location filename="../main.qml" line="162"/>
<source>Pause all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="166"/>
<source>Play all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="156"/>
<location filename="../main.qml" line="172"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,32 +4,32 @@
<context>
<name>Community</name>
<message>
<location filename="../qml/Community/Community.qml" line="62"/>
<location filename="../qml/Community/Community.qml" line="61"/>
<source>We use Stomt because it provides quick and easy feedback via I like/I wish. So you can easily give us feedback and speak your mind. We will read these wishes on a daily basis!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="106"/>
<location filename="../qml/Community/Community.qml" line="105"/>
<source>Open ScreenPlay Stomt page</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="196"/>
<location filename="../qml/Community/Community.qml" line="195"/>
<source>Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="207"/>
<location filename="../qml/Community/Community.qml" line="206"/>
<source>Blog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="218"/>
<location filename="../qml/Community/Community.qml" line="217"/>
<source>Source Code</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="230"/>
<location filename="../qml/Community/Community.qml" line="229"/>
<source>Workshop</source>
<translation type="unfinished"></translation>
</message>
@ -37,66 +37,38 @@
<context>
<name>Create</name>
<message>
<location filename="../qml/Create/Create.qml" line="211"/>
<location filename="../qml/Create/Create.qml" line="218"/>
<source>Create wallpapers and widgets for local usage or the steam workshop!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="236"/>
<location filename="../qml/Create/Create.qml" line="243"/>
<source>QML Quickstart Guide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="247"/>
<location filename="../qml/Create/Create.qml" line="254"/>
<source>Documentation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="258"/>
<location filename="../qml/Create/Create.qml" line="265"/>
<source>Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="269"/>
<location filename="../qml/Create/Create.qml" line="276"/>
<source>Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateImport</name>
<message>
<location filename="../qml/Create/CreateImport.qml" line="107"/>
<source>Select Image Manually</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateImport.qml" line="137"/>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateImport.qml" line="137"/>
<source></source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/CreateImport.qml" line="143"/>
<source>Import Video</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateImportStatus</name>
<message>
<location filename="../qml/Create/CreateImportStatus.qml" line="121"/>
<source>Create another Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateImportStatus.qml" line="129"/>
<source>Upload Wallpaper to Steam</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateUpload</name>
@ -106,32 +78,32 @@
<translation></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="243"/>
<location filename="../qml/Create/CreateUpload.qml" line="245"/>
<source>Videos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="250"/>
<location filename="../qml/Create/CreateUpload.qml" line="252"/>
<source>Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="257"/>
<location filename="../qml/Create/CreateUpload.qml" line="259"/>
<source>Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="264"/>
<location filename="../qml/Create/CreateUpload.qml" line="266"/>
<source>AppDrawer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="271"/>
<location filename="../qml/Create/CreateUpload.qml" line="273"/>
<source>Upload to Steam</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="320"/>
<location filename="../qml/Create/CreateUpload.qml" line="322"/>
<source>Creating Workshop Item</source>
<translation type="unfinished"></translation>
</message>
@ -139,8 +111,8 @@
<context>
<name>CreateWallpaper</name>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="24"/>
<source>Import Video Wallpaper</source>
<location filename="../qml/Create/CreateWallpaper.qml" line="25"/>
<source>Import Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -149,16 +121,117 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="157"/>
<source>Convert Video</source>
<location filename="../qml/Create/CreateWallpaper.qml" line="77"/>
<source>FFMPEG Needed for import</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="238"/>
<location filename="../qml/Create/CreateWallpaper.qml" line="159"/>
<source>Import ThreeJs Scene</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="241"/>
<source>Upload Exsisting Project to Steam</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaperResult</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="18"/>
<source>An error occurred!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="70"/>
<source>Back to create and send an error report!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaperVideoImportConvert</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="37"/>
<source>Generating preview image...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="44"/>
<source>Generating 5 second preview video...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="47"/>
<source>Generating preview gif...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="56"/>
<source>Converting Audio...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="59"/>
<source>Converting Video... This can take some time!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="63"/>
<source>Converting Video ERROR!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="85"/>
<source>Convert a video to a wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="164"/>
<source></source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="176"/>
<source>Generating preview video...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="187"/>
<source>You can set your own preview image here!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="223"/>
<source>Name (required!)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="237"/>
<source>Description</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="244"/>
<source>Youtube URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="268"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="280"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="315"/>
<source>Save Wallpaper...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWidget</name>
<message>
@ -177,64 +250,224 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="75"/>
<location filename="../qml/Create/CreateWidget.qml" line="77"/>
<source>Simple clock widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="86"/>
<location filename="../qml/Create/CreateWidget.qml" line="88"/>
<source>Musik scene wallpaper visualizer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="97"/>
<location filename="../qml/Create/CreateWidget.qml" line="99"/>
<source>Changing scene wallpaper via unsplash.com</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FileDropper</name>
<name>DefaultVideoControls</name>
<message>
<location filename="../qml/FileDropper.qml" line="64"/>
<source>Bad File!!</source>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="26"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="32"/>
<source>Playback rate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="38"/>
<source>Current Video Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="50"/>
<source>Fill Mode</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FFMPEGPopup</name>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="31"/>
<source>Begin downloading FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="35"/>
<source>FFMPEG download failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="39"/>
<source>FFMPEG download successful</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="42"/>
<source>Extracting FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="46"/>
<source>ERROR extracting ffmpeg from RAM</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="51"/>
<source>ERROR extracing ffmpeg</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="56"/>
<source>ERROR saving FFMPEG to disk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="61"/>
<source>ERROR extracing FFPROBE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="66"/>
<source>ERROR saving FFPROBE to disk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="70"/>
<source>Extraction successful</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="73"/>
<source>All done and ready to go!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="88"/>
<source>You cannot create Wallaper without FFMPEG installed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="109"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="119"/>
<location filename="../qml/Create/FFMPEGPopup.qml" line="286"/>
<source>Download FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="141"/>
<source>Before we can start creating content you need to download FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="241"/>
<source>&lt;b&gt;Why do we bother you with this?&lt;/b&gt;
&lt;br&gt;&lt;br&gt; Well its because of &lt;b&gt;copyright&lt;/b&gt; and many many &lt;b&gt;patents&lt;/b&gt;.
Files like .mp4 or .webm are containers for video and audio. Every audio
and video file is encoded with a certain codec. These can be open sour
ceand free to use like &lt;a href=&apos;https://wikipedia.org/wiki/VP8&apos;&gt;VP8&lt;/a&gt; and the newer &lt;a href=&apos;https://wikipedia.org/wiki/VP9&apos;&gt;VP9&lt;/a&gt; (the one YouTube uses for their web
ms)but there are also some proproatary ones like &lt;a href=&apos;https://wikipedia.org/wiki/H.264/MPEG-4_AVC&apos;&gt;h264&lt;/a&gt; and the successor &lt;a href=&apos;https://wikipedia.org/wiki/High_Efficiency_Video_Coding&apos;&gt;h265&lt;/a&gt;.
&lt;br&gt;
&lt;br&gt;
We as software developer now need to deal with stuff like this in a field we
are do not have any expertise in. The desicion to enable only free codecs for content was
an easy one but we still need to provide a way for our user to import wallpape
r without a hassle. We do not provide &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; f
or converting video and audio with ScreenPlay because we are not allowed to. We let the user download &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; wich is perfectly fine!
&lt;br&gt;
Sorry for this little inconvenience :)
&lt;br&gt;
&lt;br&gt;
&lt;center&gt;
&lt;b&gt;
IF YOU DO NOT HAVE A INTERNET CONNECT YOU CAN SIMPLY PUT FFMPEG AND FFPROBE
IN THE SAME FOLDER AS YOUR SCREENPLAY EXECUTABLE!
&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
This is usually:
&lt;br&gt; C:Program Files (x86)SteamsteamappscommonScreenPlay
&lt;br&gt;
if you installed ScreenPlay via Steam!
&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;~ Kelteseth | Elias Steurer&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="293"/>
<source>Not now!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="336"/>
<source>You can now start creating content!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="368"/>
<source>Start!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ImageSelector</name>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="139"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="153"/>
<source>Open Image</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Installed</name>
<message>
<location filename="../qml/Installed/Installed.qml" line="82"/>
<location filename="../qml/Installed/Installed.qml" line="93"/>
<source>Refreshing!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="85"/>
<location filename="../qml/Installed/Installed.qml" line="107"/>
<location filename="../qml/Installed/Installed.qml" line="96"/>
<location filename="../qml/Installed/Installed.qml" line="118"/>
<source>Pull to refresh!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="122"/>
<location filename="../qml/Installed/Installed.qml" line="133"/>
<source>Get more Wallpaper &amp; Widgets via the Steam workshop!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="265"/>
<location filename="../qml/Installed/Installed.qml" line="267"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="274"/>
<location filename="../qml/Installed/Installed.qml" line="276"/>
<source>Videos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="283"/>
<location filename="../qml/Installed/Installed.qml" line="285"/>
<source>Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="292"/>
<location filename="../qml/Installed/Installed.qml" line="294"/>
<source>Widgets</source>
<translation type="unfinished"></translation>
</message>
@ -244,87 +477,64 @@
<translation></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="329"/>
<location filename="../qml/Installed/Installed.qml" line="336"/>
<source>Search for Wallpaper &amp; Widgets</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>InstalledUserHelper</name>
<name>InstalledWelcomeScreen</name>
<message>
<location filename="../qml/Installed/InstalledUserHelper.qml" line="58"/>
<source>Make your desktop more:</source>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="54"/>
<source>Get free Widgets and Wallpaper via the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/InstalledUserHelper.qml" line="71"/>
<source>DISTINCT</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/InstalledUserHelper.qml" line="99"/>
<source>Get free Widgets and Wallpaper</source>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="84"/>
<source>Browse the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Monitors</name>
<message>
<location filename="../qml/Monitors.qml" line="61"/>
<location filename="../qml/Monitors/Monitors.qml" line="65"/>
<source>Wallpaper Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors.qml" line="119"/>
<source>Remove all wallpaper</source>
<location filename="../qml/Monitors/Monitors.qml" line="131"/>
<source>Remove selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors.qml" line="146"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors.qml" line="150"/>
<source>Playback rate</source>
<location filename="../qml/Monitors/Monitors.qml" line="142"/>
<source>Remove all Wallpapers</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NavigationWallpaperConfiguration</name>
<message>
<location filename="../qml/NavigationWallpaperConfiguration.qml" line="57"/>
<source>Configurate active Wallpaper</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NextButton</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/NextButton.qml" line="10"/>
<source>Next</source>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="65"/>
<source>Configurate active Wallpaper or Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/NextButton.qml" line="20"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/NextButton.qml" line="27"/>
<source>Creating</source>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="67"/>
<source>No active Wallpaper or Widgets</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScreenPlayItem</name>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="242"/>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="222"/>
<source>Open containing folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="249"/>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="229"/>
<source>Open workshop Page</source>
<translation type="unfinished"></translation>
</message>
@ -332,194 +542,229 @@
<context>
<name>Settings</name>
<message>
<location filename="../qml/Settings/Settings.qml" line="67"/>
<location filename="../qml/Settings/Settings.qml" line="69"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="85"/>
<location filename="../qml/Settings/Settings.qml" line="87"/>
<source>Autostart</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="86"/>
<location filename="../qml/Settings/Settings.qml" line="88"/>
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="97"/>
<location filename="../qml/Settings/Settings.qml" line="98"/>
<source>High priority Autostart</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="100"/>
<location filename="../qml/Settings/Settings.qml" line="101"/>
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="112"/>
<location filename="../qml/Settings/Settings.qml" line="113"/>
<source>Send anonymous crash reports and statistics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="113"/>
<location filename="../qml/Settings/Settings.qml" line="114"/>
<source>Help us make ScreenPlay faster and more stable. All collected data is purely anonymous and only used for development purposes!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="126"/>
<location filename="../qml/Settings/Settings.qml" line="125"/>
<source>Set save location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="128"/>
<location filename="../qml/Settings/Settings.qml" line="127"/>
<source>Set location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="142"/>
<location filename="../qml/Settings/Settings.qml" line="143"/>
<source>Important: Changing this directory has no effect on the workshop download path. ScreenPlay only supports having one content folder!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="163"/>
<location filename="../qml/Settings/Settings.qml" line="162"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="164"/>
<location filename="../qml/Settings/Settings.qml" line="163"/>
<source>Set the ScreenPlay UI Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="234"/>
<location filename="../qml/Settings/Settings.qml" line="241"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="255"/>
<source>Pause wallpaper when ingame</source>
<location filename="../qml/Settings/Settings.qml" line="261"/>
<source>Pause wallpaper while ingame</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="256"/>
<location filename="../qml/Settings/Settings.qml" line="263"/>
<source>To maximise your framerates ingame, you can enable this setting to pause all active wallpapers!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="267"/>
<location filename="../qml/Settings/Settings.qml" line="276"/>
<source>Default Fill Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="268"/>
<location filename="../qml/Settings/Settings.qml" line="277"/>
<source>Set this property to define how the video is scaled to fit the target area.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="318"/>
<location filename="../qml/Settings/Settings.qml" line="326"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="393"/>
<location filename="../qml/Settings/Settings.qml" line="366"/>
<source>Hi, I&apos;m Elias Steurer also known as Kelteseth and I&apos;m the developer of ScreenPlay. Thank you for using my software. You can follow me to receive updates about ScreenPlay here:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="453"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="454"/>
<source>ScreenPlay Build Version </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="456"/>
<source>Open Changelog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="463"/>
<source>Third Party Software</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="394"/>
<location filename="../qml/Settings/Settings.qml" line="464"/>
<source>ScreenPlay would not be possible without the work of others. A big thank you to: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="395"/>
<location filename="../qml/Settings/Settings.qml" line="465"/>
<source>Licenses</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="419"/>
<location filename="../qml/Settings/Settings.qml" line="487"/>
<location filename="../qml/Settings/Settings.qml" line="489"/>
<source>Debug Messages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="488"/>
<source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="504"/>
<source>Data Protection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="420"/>
<location filename="../qml/Settings/Settings.qml" line="505"/>
<source>We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="421"/>
<location filename="../qml/Settings/Settings.qml" line="506"/>
<source>Privacy</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsExpander</name>
<message>
<location filename="../qml/Settings/SettingsExpander.qml" line="46"/>
<source>Copy text to clipboard</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Sidebar</name>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="162"/>
<location filename="../qml/Installed/Sidebar.qml" line="187"/>
<source>Headline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="183"/>
<location filename="../qml/Installed/Sidebar.qml" line="238"/>
<source>Select a Monitor to display the content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="237"/>
<source>Volume</source>
<location filename="../qml/Installed/Sidebar.qml" line="262"/>
<source>Set Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="292"/>
<location filename="../qml/Installed/Sidebar.qml" line="272"/>
<source>Fill Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="334"/>
<location filename="../qml/Installed/Sidebar.qml" line="309"/>
<source>Set wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="417"/>
<location filename="../qml/Installed/Sidebar.qml" line="403"/>
<location filename="../qml/Installed/Sidebar.qml" line="491"/>
<source>Set Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="478"/>
<location filename="../qml/Installed/Sidebar.qml" line="443"/>
<source>Set Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="521"/>
<location filename="../qml/Installed/Sidebar.qml" line="464"/>
<source>Set Scene</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>StartupErrorWindow</name>
<name>TagSelector</name>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="147"/>
<source>Could not connect to Steam :(</source>
<location filename="../qml/Common/TagSelector.qml" line="11"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="163"/>
<source>To use ScreenPlay with all its features you have to have Steam running!</source>
<location filename="../qml/Common/TagSelector.qml" line="14"/>
<source>Add tag</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="187"/>
<source>Close ScreenPlay</source>
<location filename="../qml/Common/TagSelector.qml" line="107"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="194"/>
<source>Continue using ScreenPlay offline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="204"/>
<source>Seek help in our greate community!</source>
<location filename="../qml/Common/TagSelector.qml" line="125"/>
<source>Add Tag</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -534,34 +779,39 @@
<context>
<name>main</name>
<message>
<location filename="../main.qml" line="118"/>
<source>Open ScreenPlay</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="126"/>
<location filename="../main.qml" line="130"/>
<source>Mute all</source>
<location filename="../main.qml" line="115"/>
<source>ScreenPlay - Double click to change you settings.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="134"/>
<source>Unmute all</source>
<source>Open ScreenPlay</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="142"/>
<location filename="../main.qml" line="146"/>
<source>Pause all</source>
<source>Mute all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="150"/>
<source>Unmute all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="158"/>
<location filename="../main.qml" line="162"/>
<source>Pause all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="166"/>
<source>Play all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="156"/>
<location filename="../main.qml" line="172"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>

Binary file not shown.

View File

@ -0,0 +1,819 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="es">
<context>
<name>Community</name>
<message>
<location filename="../qml/Community/Community.qml" line="61"/>
<source>We use Stomt because it provides quick and easy feedback via I like/I wish. So you can easily give us feedback and speak your mind. We will read these wishes on a daily basis!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="105"/>
<source>Open ScreenPlay Stomt page</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="195"/>
<source>Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="206"/>
<source>Blog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="217"/>
<source>Source Code</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="229"/>
<source>Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Create</name>
<message>
<location filename="../qml/Create/Create.qml" line="218"/>
<source>Create wallpapers and widgets for local usage or the steam workshop!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="243"/>
<source>QML Quickstart Guide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="254"/>
<source>Documentation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="265"/>
<source>Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="276"/>
<source>Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateImport</name>
<message>
<location filename="../qml/Create/CreateImport.qml" line="137"/>
<source></source>
<translation></translation>
</message>
</context>
<context>
<name>CreateUpload</name>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="219"/>
<source></source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="245"/>
<source>Videos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="252"/>
<source>Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="259"/>
<source>Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="266"/>
<source>AppDrawer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="273"/>
<source>Upload to Steam</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="322"/>
<source>Creating Workshop Item</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaper</name>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="25"/>
<source>Import Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="77"/>
<source>Import video</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="77"/>
<source>FFMPEG Needed for import</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="159"/>
<source>Import ThreeJs Scene</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="241"/>
<source>Upload Exsisting Project to Steam</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaperResult</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="18"/>
<source>An error occurred!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="70"/>
<source>Back to create and send an error report!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaperVideoImportConvert</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="37"/>
<source>Generating preview image...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="44"/>
<source>Generating 5 second preview video...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="47"/>
<source>Generating preview gif...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="56"/>
<source>Converting Audio...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="59"/>
<source>Converting Video... This can take some time!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="63"/>
<source>Converting Video ERROR!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="85"/>
<source>Convert a video to a wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="164"/>
<source></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="176"/>
<source>Generating preview video...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="187"/>
<source>You can set your own preview image here!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="223"/>
<source>Name (required!)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="237"/>
<source>Description</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="244"/>
<source>Youtube URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="268"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="280"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="315"/>
<source>Save Wallpaper...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWidget</name>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="15"/>
<source>Create Widgets and Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="30"/>
<source>Create Emtpy Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="53"/>
<source>Examples Widgets and Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="77"/>
<source>Simple clock widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="88"/>
<source>Musik scene wallpaper visualizer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="99"/>
<source>Changing scene wallpaper via unsplash.com</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DefaultVideoControls</name>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="26"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="32"/>
<source>Playback rate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="38"/>
<source>Current Video Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="50"/>
<source>Fill Mode</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FFMPEGPopup</name>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="31"/>
<source>Begin downloading FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="35"/>
<source>FFMPEG download failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="39"/>
<source>FFMPEG download successful</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="42"/>
<source>Extracting FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="46"/>
<source>ERROR extracting ffmpeg from RAM</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="51"/>
<source>ERROR extracing ffmpeg</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="56"/>
<source>ERROR saving FFMPEG to disk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="61"/>
<source>ERROR extracing FFPROBE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="66"/>
<source>ERROR saving FFPROBE to disk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="70"/>
<source>Extraction successful</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="73"/>
<source>All done and ready to go!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="88"/>
<source>You cannot create Wallaper without FFMPEG installed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="109"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="119"/>
<location filename="../qml/Create/FFMPEGPopup.qml" line="286"/>
<source>Download FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="141"/>
<source>Before we can start creating content you need to download FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="241"/>
<source>&lt;b&gt;Why do we bother you with this?&lt;/b&gt;
&lt;br&gt;&lt;br&gt; Well its because of &lt;b&gt;copyright&lt;/b&gt; and many many &lt;b&gt;patents&lt;/b&gt;.
Files like .mp4 or .webm are containers for video and audio. Every audio
and video file is encoded with a certain codec. These can be open sour
ceand free to use like &lt;a href=&apos;https://wikipedia.org/wiki/VP8&apos;&gt;VP8&lt;/a&gt; and the newer &lt;a href=&apos;https://wikipedia.org/wiki/VP9&apos;&gt;VP9&lt;/a&gt; (the one YouTube uses for their web
ms)but there are also some proproatary ones like &lt;a href=&apos;https://wikipedia.org/wiki/H.264/MPEG-4_AVC&apos;&gt;h264&lt;/a&gt; and the successor &lt;a href=&apos;https://wikipedia.org/wiki/High_Efficiency_Video_Coding&apos;&gt;h265&lt;/a&gt;.
&lt;br&gt;
&lt;br&gt;
We as software developer now need to deal with stuff like this in a field we
are do not have any expertise in. The desicion to enable only free codecs for content was
an easy one but we still need to provide a way for our user to import wallpape
r without a hassle. We do not provide &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; f
or converting video and audio with ScreenPlay because we are not allowed to. We let the user download &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; wich is perfectly fine!
&lt;br&gt;
Sorry for this little inconvenience :)
&lt;br&gt;
&lt;br&gt;
&lt;center&gt;
&lt;b&gt;
IF YOU DO NOT HAVE A INTERNET CONNECT YOU CAN SIMPLY PUT FFMPEG AND FFPROBE
IN THE SAME FOLDER AS YOUR SCREENPLAY EXECUTABLE!
&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
This is usually:
&lt;br&gt; C:Program Files (x86)SteamsteamappscommonScreenPlay
&lt;br&gt;
if you installed ScreenPlay via Steam!
&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;~ Kelteseth | Elias Steurer&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="293"/>
<source>Not now!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="336"/>
<source>You can now start creating content!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="368"/>
<source>Start!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ImageSelector</name>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="139"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="153"/>
<source>Open Image</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Installed</name>
<message>
<location filename="../qml/Installed/Installed.qml" line="93"/>
<source>Refreshing!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="96"/>
<location filename="../qml/Installed/Installed.qml" line="118"/>
<source>Pull to refresh!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="133"/>
<source>Get more Wallpaper &amp; Widgets via the Steam workshop!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="267"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="276"/>
<source>Videos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="285"/>
<source>Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="294"/>
<source>Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="329"/>
<source></source>
<translation></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="336"/>
<source>Search for Wallpaper &amp; Widgets</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>InstalledWelcomeScreen</name>
<message>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="54"/>
<source>Get free Widgets and Wallpaper via the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="84"/>
<source>Browse the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Monitors</name>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="65"/>
<source>Wallpaper Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="131"/>
<source>Remove selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="142"/>
<source>Remove all Wallpapers</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NavigationWallpaperConfiguration</name>
<message>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="65"/>
<source>Configurate active Wallpaper or Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="67"/>
<source>No active Wallpaper or Widgets</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScreenPlayItem</name>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="222"/>
<source>Open containing folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="229"/>
<source>Open workshop Page</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<location filename="../qml/Settings/Settings.qml" line="69"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="87"/>
<source>Autostart</source>
<translation type="unfinished">Autoencendido</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="88"/>
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="98"/>
<source>High priority Autostart</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="101"/>
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="113"/>
<source>Send anonymous crash reports and statistics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="114"/>
<source>Help us make ScreenPlay faster and more stable. All collected data is purely anonymous and only used for development purposes!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="125"/>
<source>Set save location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="127"/>
<source>Set location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="143"/>
<source>Important: Changing this directory has no effect on the workshop download path. ScreenPlay only supports having one content folder!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="162"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="163"/>
<source>Set the ScreenPlay UI Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="242"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="262"/>
<source>Pause wallpaper while ingame</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="264"/>
<source>To maximise your framerates ingame, you can enable this setting to pause all active wallpapers!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="277"/>
<source>Default Fill Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="278"/>
<source>Set this property to define how the video is scaled to fit the target area.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="327"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="367"/>
<source>Hi, I&apos;m Elias Steurer also known as Kelteseth and I&apos;m the developer of ScreenPlay. Thank you for using my software. You can follow me to receive updates about ScreenPlay here:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="454"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="455"/>
<source>ScreenPlay Build Version </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="457"/>
<source>Open Changelog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="464"/>
<source>Third Party Software</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="465"/>
<source>ScreenPlay would not be possible without the work of others. A big thank you to: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="466"/>
<source>Licenses</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="488"/>
<location filename="../qml/Settings/Settings.qml" line="490"/>
<source>Debug Messages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="489"/>
<source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="505"/>
<source>Data Protection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="506"/>
<source>We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="507"/>
<source>Privacy</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsExpander</name>
<message>
<location filename="../qml/Settings/SettingsExpander.qml" line="46"/>
<source>Copy text to clipboard</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Sidebar</name>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="187"/>
<source>Headline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="238"/>
<source>Select a Monitor to display the content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="262"/>
<source>Set Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="272"/>
<source>Fill Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="309"/>
<source>Set wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="403"/>
<location filename="../qml/Installed/Sidebar.qml" line="491"/>
<source>Set Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="443"/>
<source>Set Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="464"/>
<source>Set Scene</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TagSelector</name>
<message>
<location filename="../qml/Common/TagSelector.qml" line="11"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="14"/>
<source>Add tag</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="107"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="125"/>
<source>Add Tag</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>XMLNewsfeed</name>
<message>
<location filename="../qml/Community/XMLNewsfeed.qml" line="58"/>
<source>News &amp; Patchnotes</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>
<message>
<location filename="../main.qml" line="115"/>
<source>ScreenPlay - Double click to change you settings.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="134"/>
<source>Open ScreenPlay</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="142"/>
<location filename="../main.qml" line="146"/>
<source>Mute all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="150"/>
<source>Unmute all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="158"/>
<location filename="../main.qml" line="162"/>
<source>Pause all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="166"/>
<source>Play all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="172"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

Binary file not shown.

View File

@ -0,0 +1,819 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fr">
<context>
<name>Community</name>
<message>
<location filename="../qml/Community/Community.qml" line="61"/>
<source>We use Stomt because it provides quick and easy feedback via I like/I wish. So you can easily give us feedback and speak your mind. We will read these wishes on a daily basis!</source>
<translation type="unfinished">Nous utilisons Stomt parce qu&apos;il fournit un feedback rapide et facile via J&apos;aime / Je souhaite. Vous pouvez donc facilement nous donner votre avis et nous dire ce que vous pensez. Nous lirons ces souhaits quotidiennement !</translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="105"/>
<source>Open ScreenPlay Stomt page</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="195"/>
<source>Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="206"/>
<source>Blog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="217"/>
<source>Source Code</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="229"/>
<source>Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Create</name>
<message>
<location filename="../qml/Create/Create.qml" line="218"/>
<source>Create wallpapers and widgets for local usage or the steam workshop!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="243"/>
<source>QML Quickstart Guide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="254"/>
<source>Documentation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="265"/>
<source>Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="276"/>
<source>Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateImport</name>
<message>
<location filename="../qml/Create/CreateImport.qml" line="137"/>
<source></source>
<translation></translation>
</message>
</context>
<context>
<name>CreateUpload</name>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="219"/>
<source></source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="245"/>
<source>Videos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="252"/>
<source>Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="259"/>
<source>Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="266"/>
<source>AppDrawer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="273"/>
<source>Upload to Steam</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="322"/>
<source>Creating Workshop Item</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaper</name>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="25"/>
<source>Import Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="77"/>
<source>Import video</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="77"/>
<source>FFMPEG Needed for import</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="159"/>
<source>Import ThreeJs Scene</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="241"/>
<source>Upload Exsisting Project to Steam</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaperResult</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="18"/>
<source>An error occurred!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="70"/>
<source>Back to create and send an error report!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaperVideoImportConvert</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="37"/>
<source>Generating preview image...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="44"/>
<source>Generating 5 second preview video...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="47"/>
<source>Generating preview gif...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="56"/>
<source>Converting Audio...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="59"/>
<source>Converting Video... This can take some time!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="63"/>
<source>Converting Video ERROR!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="85"/>
<source>Convert a video to a wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="164"/>
<source></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="176"/>
<source>Generating preview video...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="187"/>
<source>You can set your own preview image here!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="223"/>
<source>Name (required!)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="237"/>
<source>Description</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="244"/>
<source>Youtube URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="268"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="280"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="315"/>
<source>Save Wallpaper...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWidget</name>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="15"/>
<source>Create Widgets and Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="30"/>
<source>Create Emtpy Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="53"/>
<source>Examples Widgets and Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="77"/>
<source>Simple clock widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="88"/>
<source>Musik scene wallpaper visualizer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="99"/>
<source>Changing scene wallpaper via unsplash.com</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DefaultVideoControls</name>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="26"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="32"/>
<source>Playback rate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="38"/>
<source>Current Video Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="50"/>
<source>Fill Mode</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FFMPEGPopup</name>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="31"/>
<source>Begin downloading FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="35"/>
<source>FFMPEG download failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="39"/>
<source>FFMPEG download successful</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="42"/>
<source>Extracting FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="46"/>
<source>ERROR extracting ffmpeg from RAM</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="51"/>
<source>ERROR extracing ffmpeg</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="56"/>
<source>ERROR saving FFMPEG to disk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="61"/>
<source>ERROR extracing FFPROBE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="66"/>
<source>ERROR saving FFPROBE to disk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="70"/>
<source>Extraction successful</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="73"/>
<source>All done and ready to go!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="88"/>
<source>You cannot create Wallaper without FFMPEG installed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="109"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="119"/>
<location filename="../qml/Create/FFMPEGPopup.qml" line="286"/>
<source>Download FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="141"/>
<source>Before we can start creating content you need to download FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="241"/>
<source>&lt;b&gt;Why do we bother you with this?&lt;/b&gt;
&lt;br&gt;&lt;br&gt; Well its because of &lt;b&gt;copyright&lt;/b&gt; and many many &lt;b&gt;patents&lt;/b&gt;.
Files like .mp4 or .webm are containers for video and audio. Every audio
and video file is encoded with a certain codec. These can be open sour
ceand free to use like &lt;a href=&apos;https://wikipedia.org/wiki/VP8&apos;&gt;VP8&lt;/a&gt; and the newer &lt;a href=&apos;https://wikipedia.org/wiki/VP9&apos;&gt;VP9&lt;/a&gt; (the one YouTube uses for their web
ms)but there are also some proproatary ones like &lt;a href=&apos;https://wikipedia.org/wiki/H.264/MPEG-4_AVC&apos;&gt;h264&lt;/a&gt; and the successor &lt;a href=&apos;https://wikipedia.org/wiki/High_Efficiency_Video_Coding&apos;&gt;h265&lt;/a&gt;.
&lt;br&gt;
&lt;br&gt;
We as software developer now need to deal with stuff like this in a field we
are do not have any expertise in. The desicion to enable only free codecs for content was
an easy one but we still need to provide a way for our user to import wallpape
r without a hassle. We do not provide &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; f
or converting video and audio with ScreenPlay because we are not allowed to. We let the user download &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; wich is perfectly fine!
&lt;br&gt;
Sorry for this little inconvenience :)
&lt;br&gt;
&lt;br&gt;
&lt;center&gt;
&lt;b&gt;
IF YOU DO NOT HAVE A INTERNET CONNECT YOU CAN SIMPLY PUT FFMPEG AND FFPROBE
IN THE SAME FOLDER AS YOUR SCREENPLAY EXECUTABLE!
&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
This is usually:
&lt;br&gt; C:Program Files (x86)SteamsteamappscommonScreenPlay
&lt;br&gt;
if you installed ScreenPlay via Steam!
&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;~ Kelteseth | Elias Steurer&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="293"/>
<source>Not now!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="336"/>
<source>You can now start creating content!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="368"/>
<source>Start!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ImageSelector</name>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="139"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="153"/>
<source>Open Image</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Installed</name>
<message>
<location filename="../qml/Installed/Installed.qml" line="93"/>
<source>Refreshing!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="96"/>
<location filename="../qml/Installed/Installed.qml" line="118"/>
<source>Pull to refresh!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="133"/>
<source>Get more Wallpaper &amp; Widgets via the Steam workshop!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="267"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="276"/>
<source>Videos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="285"/>
<source>Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="294"/>
<source>Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="329"/>
<source></source>
<translation></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="336"/>
<source>Search for Wallpaper &amp; Widgets</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>InstalledWelcomeScreen</name>
<message>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="54"/>
<source>Get free Widgets and Wallpaper via the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="84"/>
<source>Browse the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Monitors</name>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="65"/>
<source>Wallpaper Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="131"/>
<source>Remove selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="142"/>
<source>Remove all Wallpapers</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NavigationWallpaperConfiguration</name>
<message>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="65"/>
<source>Configurate active Wallpaper or Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="67"/>
<source>No active Wallpaper or Widgets</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScreenPlayItem</name>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="222"/>
<source>Open containing folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="229"/>
<source>Open workshop Page</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<location filename="../qml/Settings/Settings.qml" line="69"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="87"/>
<source>Autostart</source>
<translation type="unfinished">démarrage automatique</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="88"/>
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="98"/>
<source>High priority Autostart</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="101"/>
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="113"/>
<source>Send anonymous crash reports and statistics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="114"/>
<source>Help us make ScreenPlay faster and more stable. All collected data is purely anonymous and only used for development purposes!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="125"/>
<source>Set save location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="127"/>
<source>Set location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="143"/>
<source>Important: Changing this directory has no effect on the workshop download path. ScreenPlay only supports having one content folder!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="162"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="163"/>
<source>Set the ScreenPlay UI Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="241"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="261"/>
<source>Pause wallpaper while ingame</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="263"/>
<source>To maximise your framerates ingame, you can enable this setting to pause all active wallpapers!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="276"/>
<source>Default Fill Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="277"/>
<source>Set this property to define how the video is scaled to fit the target area.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="326"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="366"/>
<source>Hi, I&apos;m Elias Steurer also known as Kelteseth and I&apos;m the developer of ScreenPlay. Thank you for using my software. You can follow me to receive updates about ScreenPlay here:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="453"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="454"/>
<source>ScreenPlay Build Version </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="456"/>
<source>Open Changelog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="463"/>
<source>Third Party Software</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="464"/>
<source>ScreenPlay would not be possible without the work of others. A big thank you to: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="465"/>
<source>Licenses</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="487"/>
<location filename="../qml/Settings/Settings.qml" line="489"/>
<source>Debug Messages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="488"/>
<source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="504"/>
<source>Data Protection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="505"/>
<source>We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="506"/>
<source>Privacy</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsExpander</name>
<message>
<location filename="../qml/Settings/SettingsExpander.qml" line="46"/>
<source>Copy text to clipboard</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Sidebar</name>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="187"/>
<source>Headline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="238"/>
<source>Select a Monitor to display the content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="262"/>
<source>Set Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="272"/>
<source>Fill Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="309"/>
<source>Set wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="403"/>
<location filename="../qml/Installed/Sidebar.qml" line="491"/>
<source>Set Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="443"/>
<source>Set Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="464"/>
<source>Set Scene</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TagSelector</name>
<message>
<location filename="../qml/Common/TagSelector.qml" line="11"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="14"/>
<source>Add tag</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="107"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="125"/>
<source>Add Tag</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>XMLNewsfeed</name>
<message>
<location filename="../qml/Community/XMLNewsfeed.qml" line="58"/>
<source>News &amp; Patchnotes</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>
<message>
<location filename="../main.qml" line="115"/>
<source>ScreenPlay - Double click to change you settings.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="134"/>
<source>Open ScreenPlay</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="142"/>
<location filename="../main.qml" line="146"/>
<source>Mute all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="150"/>
<source>Unmute all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="158"/>
<location filename="../main.qml" line="162"/>
<source>Pause all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="166"/>
<source>Play all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="172"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

Binary file not shown.

View File

@ -4,32 +4,32 @@
<context>
<name>Community</name>
<message>
<location filename="../qml/Community/Community.qml" line="62"/>
<location filename="../qml/Community/Community.qml" line="61"/>
<source>We use Stomt because it provides quick and easy feedback via I like/I wish. So you can easily give us feedback and speak your mind. We will read these wishes on a daily basis!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="106"/>
<location filename="../qml/Community/Community.qml" line="105"/>
<source>Open ScreenPlay Stomt page</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="196"/>
<location filename="../qml/Community/Community.qml" line="195"/>
<source>Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="207"/>
<location filename="../qml/Community/Community.qml" line="206"/>
<source>Blog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="218"/>
<location filename="../qml/Community/Community.qml" line="217"/>
<source>Source Code</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="230"/>
<location filename="../qml/Community/Community.qml" line="229"/>
<source>Workshop</source>
<translation type="unfinished"></translation>
</message>
@ -37,60 +37,37 @@
<context>
<name>Create</name>
<message>
<location filename="../qml/Create/Create.qml" line="211"/>
<location filename="../qml/Create/Create.qml" line="218"/>
<source>Create wallpapers and widgets for local usage or the steam workshop!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="236"/>
<location filename="../qml/Create/Create.qml" line="243"/>
<source>QML Quickstart Guide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="247"/>
<location filename="../qml/Create/Create.qml" line="254"/>
<source>Documentation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="258"/>
<location filename="../qml/Create/Create.qml" line="265"/>
<source>Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Create.qml" line="269"/>
<location filename="../qml/Create/Create.qml" line="276"/>
<source>Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateImport</name>
<message>
<location filename="../qml/Create/CreateImport.qml" line="107"/>
<source>Select Image Manually</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateImport.qml" line="137"/>
<source></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateImport.qml" line="143"/>
<source>Import Video</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateImportStatus</name>
<message>
<location filename="../qml/Create/CreateImportStatus.qml" line="121"/>
<source>Create another Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateImportStatus.qml" line="129"/>
<source>Upload Wallpaper to Steam</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@ -98,45 +75,35 @@
<message>
<location filename="../qml/Create/CreateUpload.qml" line="219"/>
<source></source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="227"/>
<source></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="236"/>
<source></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="246"/>
<location filename="../qml/Create/CreateUpload.qml" line="245"/>
<source>Videos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="253"/>
<location filename="../qml/Create/CreateUpload.qml" line="252"/>
<source>Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="260"/>
<location filename="../qml/Create/CreateUpload.qml" line="259"/>
<source>Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="267"/>
<location filename="../qml/Create/CreateUpload.qml" line="266"/>
<source>AppDrawer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="274"/>
<location filename="../qml/Create/CreateUpload.qml" line="273"/>
<source>Upload to Steam</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateUpload.qml" line="323"/>
<location filename="../qml/Create/CreateUpload.qml" line="322"/>
<source>Creating Workshop Item</source>
<translation type="unfinished"></translation>
</message>
@ -144,8 +111,8 @@
<context>
<name>CreateWallpaper</name>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="24"/>
<source>Import Video Wallpaper</source>
<location filename="../qml/Create/CreateWallpaper.qml" line="25"/>
<source>Import Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -154,16 +121,117 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="157"/>
<source>Convert Video</source>
<location filename="../qml/Create/CreateWallpaper.qml" line="77"/>
<source>FFMPEG Needed for import</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="238"/>
<location filename="../qml/Create/CreateWallpaper.qml" line="159"/>
<source>Import ThreeJs Scene</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWallpaper.qml" line="241"/>
<source>Upload Exsisting Project to Steam</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaperResult</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="18"/>
<source>An error occurred!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="70"/>
<source>Back to create and send an error report!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWallpaperVideoImportConvert</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="37"/>
<source>Generating preview image...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="44"/>
<source>Generating 5 second preview video...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="47"/>
<source>Generating preview gif...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="56"/>
<source>Converting Audio...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="59"/>
<source>Converting Video... This can take some time!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="63"/>
<source>Converting Video ERROR!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="85"/>
<source>Convert a video to a wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="164"/>
<source></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="176"/>
<source>Generating preview video...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="187"/>
<source>You can set your own preview image here!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="223"/>
<source>Name (required!)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="237"/>
<source>Description</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="244"/>
<source>Youtube URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="268"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="280"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="315"/>
<source>Save Wallpaper...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateWidget</name>
<message>
@ -182,154 +250,291 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="75"/>
<location filename="../qml/Create/CreateWidget.qml" line="77"/>
<source>Simple clock widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="86"/>
<location filename="../qml/Create/CreateWidget.qml" line="88"/>
<source>Musik scene wallpaper visualizer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/CreateWidget.qml" line="97"/>
<location filename="../qml/Create/CreateWidget.qml" line="99"/>
<source>Changing scene wallpaper via unsplash.com</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FileDropper</name>
<name>DefaultVideoControls</name>
<message>
<location filename="../qml/FileDropper.qml" line="64"/>
<source>Bad File!!</source>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="26"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="32"/>
<source>Playback rate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="38"/>
<source>Current Video Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="50"/>
<source>Fill Mode</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FFMPEGPopup</name>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="31"/>
<source>Begin downloading FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="35"/>
<source>FFMPEG download failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="39"/>
<source>FFMPEG download successful</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="42"/>
<source>Extracting FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="46"/>
<source>ERROR extracting ffmpeg from RAM</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="51"/>
<source>ERROR extracing ffmpeg</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="56"/>
<source>ERROR saving FFMPEG to disk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="61"/>
<source>ERROR extracing FFPROBE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="66"/>
<source>ERROR saving FFPROBE to disk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="70"/>
<source>Extraction successful</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="73"/>
<source>All done and ready to go!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="88"/>
<source>You cannot create Wallaper without FFMPEG installed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="109"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="119"/>
<location filename="../qml/Create/FFMPEGPopup.qml" line="286"/>
<source>Download FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="141"/>
<source>Before we can start creating content you need to download FFMPEG</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="241"/>
<source>&lt;b&gt;Why do we bother you with this?&lt;/b&gt;
&lt;br&gt;&lt;br&gt; Well its because of &lt;b&gt;copyright&lt;/b&gt; and many many &lt;b&gt;patents&lt;/b&gt;.
Files like .mp4 or .webm are containers for video and audio. Every audio
and video file is encoded with a certain codec. These can be open sour
ceand free to use like &lt;a href=&apos;https://wikipedia.org/wiki/VP8&apos;&gt;VP8&lt;/a&gt; and the newer &lt;a href=&apos;https://wikipedia.org/wiki/VP9&apos;&gt;VP9&lt;/a&gt; (the one YouTube uses for their web
ms)but there are also some proproatary ones like &lt;a href=&apos;https://wikipedia.org/wiki/H.264/MPEG-4_AVC&apos;&gt;h264&lt;/a&gt; and the successor &lt;a href=&apos;https://wikipedia.org/wiki/High_Efficiency_Video_Coding&apos;&gt;h265&lt;/a&gt;.
&lt;br&gt;
&lt;br&gt;
We as software developer now need to deal with stuff like this in a field we
are do not have any expertise in. The desicion to enable only free codecs for content was
an easy one but we still need to provide a way for our user to import wallpape
r without a hassle. We do not provide &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; f
or converting video and audio with ScreenPlay because we are not allowed to. We let the user download &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; wich is perfectly fine!
&lt;br&gt;
Sorry for this little inconvenience :)
&lt;br&gt;
&lt;br&gt;
&lt;center&gt;
&lt;b&gt;
IF YOU DO NOT HAVE A INTERNET CONNECT YOU CAN SIMPLY PUT FFMPEG AND FFPROBE
IN THE SAME FOLDER AS YOUR SCREENPLAY EXECUTABLE!
&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
This is usually:
&lt;br&gt; C:Program Files (x86)SteamsteamappscommonScreenPlay
&lt;br&gt;
if you installed ScreenPlay via Steam!
&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;~ Kelteseth | Elias Steurer&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="293"/>
<source>Not now!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="336"/>
<source>You can now start creating content!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="368"/>
<source>Start!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ImageSelector</name>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="139"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="153"/>
<source>Open Image</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Installed</name>
<message>
<location filename="../qml/Installed/Installed.qml" line="82"/>
<location filename="../qml/Installed/Installed.qml" line="93"/>
<source>Refreshing!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="85"/>
<location filename="../qml/Installed/Installed.qml" line="107"/>
<location filename="../qml/Installed/Installed.qml" line="96"/>
<location filename="../qml/Installed/Installed.qml" line="118"/>
<source>Pull to refresh!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="122"/>
<location filename="../qml/Installed/Installed.qml" line="133"/>
<source>Get more Wallpaper &amp; Widgets via the Steam workshop!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="265"/>
<location filename="../qml/Installed/Installed.qml" line="267"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="274"/>
<location filename="../qml/Installed/Installed.qml" line="276"/>
<source>Videos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="283"/>
<location filename="../qml/Installed/Installed.qml" line="285"/>
<source>Scenes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="292"/>
<location filename="../qml/Installed/Installed.qml" line="294"/>
<source>Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="329"/>
<source></source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="330"/>
<location filename="../qml/Installed/Installed.qml" line="336"/>
<source>Search for Wallpaper &amp; Widgets</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>InstalledUserHelper</name>
<name>InstalledWelcomeScreen</name>
<message>
<location filename="../qml/Installed/InstalledUserHelper.qml" line="58"/>
<source>Make your desktop more:</source>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="54"/>
<source>Get free Widgets and Wallpaper via the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/InstalledUserHelper.qml" line="71"/>
<source>DISTINCT</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/InstalledUserHelper.qml" line="99"/>
<source>Get free Widgets and Wallpaper</source>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="84"/>
<source>Browse the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Monitors</name>
<message>
<location filename="../qml/Monitors.qml" line="61"/>
<location filename="../qml/Monitors/Monitors.qml" line="65"/>
<source>Wallpaper Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors.qml" line="119"/>
<source>Remove all wallpaper</source>
<location filename="../qml/Monitors/Monitors.qml" line="131"/>
<source>Remove selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors.qml" line="146"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Monitors.qml" line="150"/>
<source>Playback rate</source>
<location filename="../qml/Monitors/Monitors.qml" line="142"/>
<source>Remove all Wallpapers</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NavigationWallpaperConfiguration</name>
<message>
<location filename="../qml/NavigationWallpaperConfiguration.qml" line="57"/>
<source>Configurate active Wallpaper</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NextButton</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/NextButton.qml" line="10"/>
<source>Next</source>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="65"/>
<source>Configurate active Wallpaper or Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/NextButton.qml" line="20"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/NextButton.qml" line="27"/>
<source>Creating</source>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="67"/>
<source>No active Wallpaper or Widgets</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScreenPlayItem</name>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="242"/>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="222"/>
<source>Open containing folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="249"/>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="229"/>
<source>Open workshop Page</source>
<translation type="unfinished"></translation>
</message>
@ -337,17 +542,17 @@
<context>
<name>Settings</name>
<message>
<location filename="../qml/Settings/Settings.qml" line="68"/>
<location filename="../qml/Settings/Settings.qml" line="69"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="86"/>
<location filename="../qml/Settings/Settings.qml" line="87"/>
<source>Autostart</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="87"/>
<location filename="../qml/Settings/Settings.qml" line="88"/>
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
<translation type="unfinished"></translation>
</message>
@ -372,12 +577,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="127"/>
<location filename="../qml/Settings/Settings.qml" line="125"/>
<source>Set save location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="129"/>
<location filename="../qml/Settings/Settings.qml" line="127"/>
<source>Set location</source>
<translation type="unfinished"></translation>
</message>
@ -387,134 +592,179 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="192"/>
<location filename="../qml/Settings/Settings.qml" line="162"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="163"/>
<source>Set the ScreenPlay UI Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="241"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="213"/>
<source>Pause wallpaper when ingame</source>
<location filename="../qml/Settings/Settings.qml" line="261"/>
<source>Pause wallpaper while ingame</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="214"/>
<location filename="../qml/Settings/Settings.qml" line="263"/>
<source>To maximise your framerates ingame, you can enable this setting to pause all active wallpapers!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="225"/>
<location filename="../qml/Settings/Settings.qml" line="276"/>
<source>Default Fill Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="226"/>
<location filename="../qml/Settings/Settings.qml" line="277"/>
<source>Set this property to define how the video is scaled to fit the target area.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="275"/>
<location filename="../qml/Settings/Settings.qml" line="326"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="350"/>
<location filename="../qml/Settings/Settings.qml" line="366"/>
<source>Hi, I&apos;m Elias Steurer also known as Kelteseth and I&apos;m the developer of ScreenPlay. Thank you for using my software. You can follow me to receive updates about ScreenPlay here:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="453"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="454"/>
<source>ScreenPlay Build Version </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="456"/>
<source>Open Changelog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="463"/>
<source>Third Party Software</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="351"/>
<location filename="../qml/Settings/Settings.qml" line="464"/>
<source>ScreenPlay would not be possible without the work of others. A big thank you to: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="352"/>
<location filename="../qml/Settings/Settings.qml" line="465"/>
<source>Licenses</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="376"/>
<location filename="../qml/Settings/Settings.qml" line="487"/>
<location filename="../qml/Settings/Settings.qml" line="489"/>
<source>Debug Messages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="488"/>
<source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="504"/>
<source>Data Protection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="377"/>
<location filename="../qml/Settings/Settings.qml" line="505"/>
<source>We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="378"/>
<location filename="../qml/Settings/Settings.qml" line="506"/>
<source>Privacy</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsExpander</name>
<message>
<location filename="../qml/Settings/SettingsExpander.qml" line="46"/>
<source>Copy text to clipboard</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Sidebar</name>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="162"/>
<location filename="../qml/Installed/Sidebar.qml" line="187"/>
<source>Headline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="183"/>
<location filename="../qml/Installed/Sidebar.qml" line="238"/>
<source>Select a Monitor to display the content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="237"/>
<source>Volume</source>
<location filename="../qml/Installed/Sidebar.qml" line="262"/>
<source>Set Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="292"/>
<location filename="../qml/Installed/Sidebar.qml" line="272"/>
<source>Fill Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="334"/>
<location filename="../qml/Installed/Sidebar.qml" line="309"/>
<source>Set wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="417"/>
<location filename="../qml/Installed/Sidebar.qml" line="403"/>
<location filename="../qml/Installed/Sidebar.qml" line="491"/>
<source>Set Wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="478"/>
<location filename="../qml/Installed/Sidebar.qml" line="443"/>
<source>Set Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="521"/>
<location filename="../qml/Installed/Sidebar.qml" line="464"/>
<source>Set Scene</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>StartupErrorWindow</name>
<name>TagSelector</name>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="147"/>
<source>Could not connect to Steam :(</source>
<location filename="../qml/Common/TagSelector.qml" line="11"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="163"/>
<source>To use ScreenPlay with all its features you have to have Steam running!</source>
<location filename="../qml/Common/TagSelector.qml" line="14"/>
<source>Add tag</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="187"/>
<source>Close ScreenPlay</source>
<location filename="../qml/Common/TagSelector.qml" line="107"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="194"/>
<source>Continue using ScreenPlay offline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/StartupErrorWindow.qml" line="204"/>
<source>Seek help in our greate community!</source>
<location filename="../qml/Common/TagSelector.qml" line="125"/>
<source>Add Tag</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -529,34 +779,39 @@
<context>
<name>main</name>
<message>
<location filename="../main.qml" line="118"/>
<source>Open ScreenPlay</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="126"/>
<location filename="../main.qml" line="130"/>
<source>Mute all</source>
<location filename="../main.qml" line="115"/>
<source>ScreenPlay - Double click to change you settings.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="134"/>
<source>Unmute all</source>
<source>Open ScreenPlay</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="142"/>
<location filename="../main.qml" line="146"/>
<source>Pause all</source>
<source>Mute all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="150"/>
<source>Unmute all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="158"/>
<location filename="../main.qml" line="162"/>
<source>Pause all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="166"/>
<source>Play all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="156"/>
<location filename="../main.qml" line="172"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>