1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-11-26 12:42:34 +01:00

Merge branch 'dev' into feature/wallpaper-properties-revamp

# Conflicts:
#	ScreenPlay/qml/Monitors/MonitorsProjectSettingItem.qml
This commit is contained in:
Elias Steurer 2020-03-13 17:08:26 +01:00
commit 175b875ec4
50 changed files with 2120 additions and 118 deletions

View File

@ -27,7 +27,7 @@ ScreenPlay is an open source cross plattform app for displaying Wallpaper, Widge
| __Steam Binaries__ | ✔ | ❌ | ❌ |
| __Wallpaper__ | ✔ | ❌ Help Needed for Gnome/KDE/etc! | ❓ (Basic implementation) Help Needed! |
| __Widgets__ | ✔ | ❓ | ❓ Help Needed! |
| __Multilanguage (EN,DE,RU,FR,ES)__ | ✔ | ✔ | ✔ |
| __Multilanguage (EN,DE,RU,FR,ES,KO🆕,VI🆕)__ | ✔ | ✔ | ✔ |
</div>

View File

@ -146,5 +146,11 @@
<file>qml/Common/Headline.qml</file>
<file>qml/Create/Wizards/CreateEmptyHtmlWallpaper/CreateEmptyHtmlWallpaper.qml</file>
<file>assets/images/undraw_static_website_0107.svg</file>
<file>translations/ScreenPlay_ko.qm</file>
<file>assets/fonts/NotoSans-Light.ttf</file>
<file>assets/fonts/NotoSans-Medium.ttf</file>
<file>assets/fonts/NotoSans-Regular.ttf</file>
<file>assets/fonts/NotoSans-Thin.ttf</file>
<file>translations/ScreenPlay_vi.qm</file>
</qresource>
</RCC>

View File

@ -42,7 +42,9 @@ TRANSLATIONS = \
$$PWD/translations/ScreenPlay_de.ts \
$$PWD/translations/ScreenPlay_ru.ts \
$$PWD/translations/ScreenPlay_es.ts \
$$PWD/translations/ScreenPlay_fr.ts
$$PWD/translations/ScreenPlay_fr.ts \
$$PWD/translations/ScreenPlay_ko.ts \
$$PWD/translations/ScreenPlay_vi.ts \
HEADERS += \
$$PWD/app.h \
@ -68,18 +70,22 @@ INCLUDEPATH += \
$$PWD/src/\
CONFIG(debug, debug|release) {
install_assets.path = $${OUT_PWD}/assets/fonts
} else {
install_assets.path = $${OUT_PWD}/assets/fonts
}
install_assets.files += $$PWD/assets/fonts/NotoSansCJKkr-Regular.otf
win32 {
RC_ICONS += favicon.ico
CONFIG(debug, debug|release) {
install_it.path = $${OUT_PWD}/debug/
} else {
install_it.path = $${OUT_PWD}/release/
}
INCLUDEPATH += $$PWD/../Common/vcpkg/installed/x64-windows/include
DEPENDPATH += $$PWD/../Common/vcpkg/installed/x64-windows/include
@ -152,5 +158,5 @@ unix {
}
INSTALLS += install_it
INSTALLS += install_it install_assets

View File

@ -53,13 +53,24 @@ App::App()
QGuiApplication::setQuitOnLastWindowClosed(false);
QtBreakpad::init(QDir::current().absolutePath());
QFontDatabase::addApplicationFont(":/assets/fonts/LibreBaskerville-Italic.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/Roboto-Light.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/Roboto-Regular.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/Roboto-Thin.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/RobotoMono-Light.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/RobotoMono-Thin.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Thin.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Regular.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Medium.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Light.ttf");
if(-1 == QFontDatabase::addApplicationFont(QDir::current().absolutePath()+"/assets/fonts/NotoSansCJKkr-Regular.otf")){
qWarning() << "Could not load korean font from: " << QDir::current().absolutePath() + "/assets/fonts/NotoSansCJKkr-Regular.otf";
}
QQuickWindow::setTextRenderType(QQuickWindow::TextRenderType::NativeTextRendering);
qRegisterMetaType<QQmlApplicationEngine*>();
@ -91,6 +102,7 @@ App::App()
m_profileListModel = make_shared<ProfileListModel>(m_globalVariables);
m_sdkConnector = make_shared<SDKConnector>();
m_settings = make_shared<Settings>(m_globalVariables);
m_mainWindowEngine = make_unique<QQmlApplicationEngine>();
// Only create tracker if user did not disallow!
if (m_settings->anonymousTelemetry()) {
@ -107,6 +119,9 @@ App::App()
// When the installed storage path changed
QObject::connect(m_settings.get(), &Settings::resetInstalledListmodel, m_installedListModel.get(), &InstalledListModel::reset);
QObject::connect(m_settings.get(), &Settings::requestRetranslation, m_mainWindowEngine.get(), &QQmlEngine::retranslate);
m_settings->setupLanguage();
QObject::connect(m_globalVariables.get(), &GlobalVariables::localStoragePathChanged, this, [this](QUrl localStoragePath) {
m_settings->resetInstalledListmodel();
m_settings->setqSetting("ScreenPlayContentPath", localStoragePath.toString());
@ -122,7 +137,6 @@ App::App()
}
qmlRegisterSingletonInstance("ScreenPlay", 1, 0, "ScreenPlay", this);
m_mainWindowEngine = make_unique<QQmlApplicationEngine>();
m_mainWindowEngine->load(QUrl(QStringLiteral("qrc:/main.qml")));
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,6 @@
import QtQuick 2.14
import QtQuick.Controls.Material 2.12
import ScreenPlay 1.0
Item {
id:root
@ -10,10 +11,10 @@ Item {
Text {
id: txtHeadline
font.family: "Roboto"
font.pointSize: 18
color: "#444444"
text: qsTr("Headline")
font.family: ScreenPlay.settings.font
}
Rectangle {

View File

@ -2,7 +2,7 @@ import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Material 2.12
import Qt.labs.platform 1.1
import ScreenPlay 1.0
/*!
\qmltype Image Selector
\brief A image selector with popup preview.
@ -103,7 +103,7 @@ Item {
id: txtPlaceholder
clip: true
font.pointSize: 12
font.family: "Roboto"
font.family: ScreenPlay.settings.font
wrapMode: Text.WordWrap
color: Material.color(Material.Grey)
verticalAlignment: Text.AlignVCenter
@ -121,7 +121,7 @@ Item {
id: txtName
clip: true
font.pointSize: 12
font.family: "Roboto"
font.family: ScreenPlay.settings.font
wrapMode: Text.WordWrap
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
@ -139,6 +139,7 @@ Item {
text: qsTr("Clear")
Material.background: Material.Grey
Material.foreground: "white"
font.family: ScreenPlay.settings.font
anchors {
top: parent.top
right: btnOpen.left
@ -153,6 +154,7 @@ Item {
text: qsTr("Select Preview Image")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
anchors {
top: parent.top
right: parent.right

View File

@ -1,6 +1,7 @@
import QtQuick 2.12
import QtQuick.Layouts 1.12
import QtQuick.Controls 2.2
import ScreenPlay 1.0
Item {
id: sliderVolumeWrapperBottom
@ -19,7 +20,7 @@ Item {
text: headline
height: 20
font.pointSize: 10
font.family: "Roboto"
font.family: ScreenPlay.settings.font
color: "#626262"
anchors {

View File

@ -1,6 +1,7 @@
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Material 2.3
import ScreenPlay 1.0
Item {
id: tag
@ -24,6 +25,7 @@ Item {
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
anchors.fill: parent
font.family: ScreenPlay.settings.font
}
TextField {
id: textField
@ -32,13 +34,14 @@ Item {
anchors.fill: parent
anchors.margins: 10
anchors.bottomMargin: 0
font.family: ScreenPlay.settings.font
}
TextMetrics {
id: textMetrics
text: txt.text
font.pointSize: 14
font.family: "Roboto"
font.family: ScreenPlay.settings.font
}
}
MouseArea {

View File

@ -2,6 +2,7 @@ import QtQuick 2.12
import QtQuick.Controls 2.12
import QtGraphicalEffects 1.0
import QtQuick.Controls.Material 2.12
import ScreenPlay 1.0
Item {
id: tagSelector
@ -93,6 +94,7 @@ Item {
id: textField
anchors.fill: parent
anchors.rightMargin: 15
font.family: ScreenPlay.settings.font
anchors.leftMargin: 15
onTextChanged: {
if(textField.length >= 10){
@ -109,6 +111,7 @@ Item {
enabled: false
Material.background: Material.Red
Material.foreground: "white"
font.family: ScreenPlay.settings.font
anchors {
right: btnAdd.left
rightMargin: 10
@ -125,6 +128,7 @@ Item {
text: qsTr("Add Tag")
Material.background: Material.LightGreen
Material.foreground: "white"
font.family: ScreenPlay.settings.font
anchors {
right: parent.right
rightMargin: 10

View File

@ -3,7 +3,7 @@ import QtQuick.Controls 2.3
import QtQuick.Controls.Material 2.2
import QtGraphicalEffects 1.0
import QtQuick.Layouts 1.3
//import QtQuick.XmlListModel 2.0
import ScreenPlay 1.0
import QtWebEngine 1.8
Item {
@ -59,7 +59,7 @@ Item {
color: "white"
height: 100
text: qsTr("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!")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
wrapMode: Text.WordWrap
horizontalAlignment: Qt.AlignHCenter
@ -195,6 +195,7 @@ Item {
text: qsTr("Forums")
Material.background: Material.Blue
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: Qt.openUrlExternally(
"https://forum.screen-play.app/")
icon.source: "qrc:/assets/icons/icon_people.svg"
@ -206,6 +207,7 @@ Item {
text: qsTr("Blog")
Material.background: Material.LightGreen
Material.foreground: "white"
font.family: ScreenPlay.settings.font
icon.source: "qrc:/assets/icons/icon_document.svg"
icon.color: "white"
icon.width: 16
@ -217,7 +219,7 @@ Item {
text: qsTr("Source Code")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
icon.source: "qrc:/assets/icons/icon_code.svg"
icon.color: "white"
icon.width: 16
@ -229,7 +231,7 @@ Item {
text: qsTr("Workshop")
Material.background: Material.Red
Material.foreground: "white"
font.family: ScreenPlay.settings.font
icon.source: "qrc:/assets/icons/icon_steam.svg"
icon.color: "white"
icon.width: 16
@ -241,7 +243,7 @@ Item {
text: qsTr("Changelog")
Material.background: Material.Purple
Material.foreground: "white"
font.family: ScreenPlay.settings.font
icon.source: "qrc:/assets/icons/icon_info.svg"
icon.color: "white"
icon.width: 16

View File

@ -62,7 +62,7 @@ GridView {
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
font.pointSize: 32
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
top: parent.top
@ -138,7 +138,7 @@ GridView {
margins: 20
}
color: "white"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
font.pointSize: 18
wrapMode: Text.WordWrap
@ -157,7 +157,7 @@ GridView {
leftMargin: 20
}
color: "white"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
font.pointSize: 14

View File

@ -113,7 +113,7 @@ Item {
Text {
id: txtDescriptionBottom
text: qsTr("Create wallpapers and widgets for local usage or the steam workshop!")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.pointSize: 10
color: "white"

View File

@ -20,8 +20,7 @@ Item {
color: "white"
font.pointSize: 21
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Thin
}
@ -41,8 +40,7 @@ Item {
Text {
id: txtExamples
text: qsTr("Example Widgets and Scenes")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.pointSize: 16
color: "white"

View File

@ -1,6 +1,7 @@
import QtQuick 2.14
import QtQuick.Controls 2.14
import QtGraphicalEffects 1.0
import ScreenPlay 1.0
Item {
id: btnEmpty
@ -70,7 +71,7 @@ Item {
Text {
id: name
text: btnEmpty.text
font.family: "Roboto"
font.family: ScreenPlay.settings.font
opacity: buttonActive ? 1 : .25
font.pointSize: 14
color: "gray"
@ -87,7 +88,7 @@ Item {
}
Text {
text: ">"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.pointSize: 18
opacity: buttonActive ? 1 : .25
color: "#b9b9b9"

View File

@ -90,7 +90,7 @@ Popup {
horizontalAlignment: Text.AlignHCenter
font.pointSize: 16
height: 50
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors.fill: parent
anchors.margins: 50
wrapMode: Text.WordWrap
@ -145,7 +145,7 @@ Popup {
height: 50
Layout.fillWidth: true
color: "gray"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
}
Rectangle {
@ -187,7 +187,7 @@ Popup {
height: 50
Layout.fillWidth: true
color: Material.color(Material.Orange)
font.family: "Roboto"
font.family: ScreenPlay.settings.font
wrapMode: Text.WordWrap
anchors {
top: busyIndicator.bottom
@ -234,7 +234,7 @@ Popup {
height: txtExpander.paintedHeight
wrapMode: Text.WordWrap
font.pointSize: 12
font.family: "Roboto"
font.family: ScreenPlay.settings.font
onLinkHovered: maHoverEffect.cursorShape = Qt.PointingHandCursor
onLinkActivated: Qt.openUrlExternally(link)
linkColor: Material.color(Material.LightBlue)
@ -339,7 +339,7 @@ if you installed ScreenPlay via Steam!
height: 50
Layout.fillWidth: true
color: "gray"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
horizontalCenter: parent.horizontalCenter
top: parent.top

View File

@ -31,8 +31,7 @@ Item {
color: "white"
font.pointSize: 21
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Thin
}
@ -85,6 +84,7 @@ Item {
icon.source: "qrc:/assets/icons/icon_upload.svg"
icon.color: "white"
icon.width: 16
font.family: ScreenPlay.settings.font
enabled: ScreenPlay.util.ffmpegAvailable
icon.height: 16
onClicked: fileDialogImportVideo.open()
@ -169,6 +169,7 @@ Item {
icon.color: "white"
icon.width: 16
icon.height: 16
font.family: ScreenPlay.settings.font
onClicked: fileDialogImportProject.open()
}
@ -246,6 +247,7 @@ Item {
icon.color: "white"
icon.width: 16
icon.height: 16
font.family: ScreenPlay.settings.font
onClicked: {
ScreenPlay.util.requestNavigation("Workshop")
}

View File

@ -55,7 +55,7 @@ Item {
color: "gray"
width: parent.width - 40
font.pointSize: 13
font.family: ScreenPlay.settings.font
anchors {
centerIn: parent
}
@ -72,7 +72,7 @@ Item {
bottom: parent.bottom
margins: 20
}
font.family: ScreenPlay.settings.font
onClicked: swipeView.incrementCurrentIndex()
}
}
@ -123,11 +123,13 @@ Item {
text: qsTr("General")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
TextField {
id: tfTitle
Layout.fillWidth: true
placeholderText: qsTr("Wallpaper name")
font.family: ScreenPlay.settings.font
onTextChanged: {
if (text.length >= 3) {
btnSave.enabled = true
@ -138,6 +140,7 @@ Item {
}
TextField {
id: tfCreatedBy
font.family: ScreenPlay.settings.font
Layout.fillWidth: true
placeholderText: qsTr("Copyright owner")
}
@ -146,10 +149,12 @@ Item {
text: qsTr("License")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
ComboBox {
id: cbLicense
Layout.fillWidth: true
font.family: ScreenPlay.settings.font
model: ListModel {
id: modelLicense
ListElement {
@ -167,16 +172,19 @@ Item {
text: qsTr("Tags")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
TagSelector {
id: tagSelector
Layout.fillWidth: true
}
Text {
text: qsTr("Preview Image")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
ImageSelector {
id: previewSelector
@ -208,6 +216,7 @@ Item {
text: qsTr("Abort")
Material.background: Material.Red
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: {
ScreenPlay.util.setNavigationActive(true)
ScreenPlay.util.setNavigation("Create")
@ -220,7 +229,7 @@ Item {
enabled: false
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: {
btnSave.enabled = false
savePopup.open()
@ -255,6 +264,7 @@ Item {
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
anchors.bottomMargin: 30
font.family: ScreenPlay.settings.font
}
Timer {

View File

@ -15,7 +15,7 @@ Item {
id: txtHeadline
text: qsTr("Create an empty widget")
height: 40
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Light
color: "#757575"
@ -76,11 +76,13 @@ Item {
text: qsTr("General")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
TextField {
id: tfTitle
Layout.fillWidth: true
placeholderText: qsTr("Widget name")
font.family: ScreenPlay.settings.font
onTextChanged: {
if (text.length >= 3) {
btnSave.enabled = true
@ -93,15 +95,18 @@ Item {
id: tfCreatedBy
Layout.fillWidth: true
placeholderText: qsTr("Copyright owner")
font.family: ScreenPlay.settings.font
}
Text {
text: qsTr("Type")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
ComboBox {
id: cbType
Layout.fillWidth: true
font.family: ScreenPlay.settings.font
model: ListModel {
id: model
ListElement {
@ -125,10 +130,12 @@ Item {
text: qsTr("License")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
ComboBox {
id: cbLicense
Layout.fillWidth: true
font.family: ScreenPlay.settings.font
model: ListModel {
id: modelLicense
ListElement {
@ -146,11 +153,13 @@ Item {
text: qsTr("Tags")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
TagSelector {
id: tagSelector
Layout.fillWidth: true
font.family: ScreenPlay.settings.font
}
Item {
@ -170,6 +179,7 @@ Item {
enabled: false
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: {
btnSave.enabled = false
@ -193,6 +203,7 @@ Item {
Button {
id: btnExit
text: qsTr("Abort")
font.family: ScreenPlay.settings.font
Material.background: Material.Red
Material.foreground: "white"
onClicked: {

View File

@ -64,6 +64,7 @@ Item {
width: parent.width
font.pointSize: 13
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
font.family: ScreenPlay.settings.font
}
Item {
width: parent.width
@ -76,12 +77,14 @@ Item {
color: "gray"
width: parent.width
font.pointSize: 14
font.family: ScreenPlay.settings.font
}
ComboBox {
id: comboBoxCodec
width: 260
textRole: "text"
valueRole: "value"
font.family: ScreenPlay.settings.font
onCurrentIndexChanged: {
root.codec = model.get(comboBoxCodec.currentIndex).value
}
@ -109,6 +112,7 @@ Item {
icon.color: "white"
icon.width: 16
icon.height: 16
font.family: ScreenPlay.settings.font
onClicked: Qt.openUrlExternally(
"https://kelteseth.gitlab.io/ScreenPlayDocs/wallpaper/wallpaper/#performance")
anchors {
@ -120,6 +124,7 @@ Item {
Button {
text: qsTr("Next")
highlighted: true
font.family: ScreenPlay.settings.font
onClicked: {
root.next()
}

View File

@ -16,13 +16,14 @@ Item {
Text {
id: txtErrorHeadline
text: qsTr("An error occurred!")
anchors {
top: parent.top
topMargin: 30
horizontalCenter: parent.horizontalCenter
}
height: 40
font.family: "Segoe UI, Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Light
color: Material.color(Material.DeepOrange)
font.pointSize: 32
@ -57,6 +58,7 @@ Item {
left: parent.left
margins: 20
}
font.family: ScreenPlay.settings.font
wrapMode: Text.WordWrap
color: "#626262"
text: ScreenPlay.create.ffmpegOutput
@ -86,6 +88,7 @@ Item {
text: qsTr("Back to create and send an error report!")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
anchors {
horizontalCenter: parent.horizontalCenter
bottom: parent.bottom

View File

@ -112,7 +112,7 @@ Item {
id: txtHeadline
text: qsTr("Convert a video to a wallpaper")
height: 40
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Light
color: "#757575"
@ -196,6 +196,7 @@ Item {
color: "white"
text: qsTr("")
font.pointSize: 21
font.family: ScreenPlay.settings.font
anchors {
horizontalCenter: parent.horizontalCenter
bottom: parent.bottom
@ -208,6 +209,7 @@ Item {
color: "white"
text: qsTr("Generating preview video...")
font.pointSize: 14
font.family: ScreenPlay.settings.font
anchors {
horizontalCenter: parent.horizontalCenter
bottom: parent.bottom
@ -254,6 +256,7 @@ Item {
id: textFieldName
placeholderText: qsTr("Name (required!)")
width: parent.width
font.family: ScreenPlay.settings.font
Layout.fillWidth: true
onTextChanged: {
if (textFieldName.text.length >= 3) {
@ -267,6 +270,7 @@ Item {
TextField {
id: textFieldDescription
placeholderText: qsTr("Description")
font.family: ScreenPlay.settings.font
width: parent.width
Layout.fillWidth: true
@ -275,6 +279,7 @@ Item {
TextField {
id: textFieldYoutubeURL
placeholderText: qsTr("Youtube URL")
font.family: ScreenPlay.settings.font
width: parent.width
Layout.fillWidth: true
}
@ -282,6 +287,7 @@ Item {
TagSelector {
id: textFieldTags
width: parent.width
Layout.fillWidth: true
}
}
@ -303,6 +309,7 @@ Item {
text: qsTr("Abort")
Material.background: Material.Red
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: {
ScreenPlay.create.abortAndCleanup()
ScreenPlay.util.setNavigationActive(true)
@ -316,6 +323,7 @@ Item {
enabled: false
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: {
if (conversionFinishedSuccessful) {
@ -353,6 +361,7 @@ Item {
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
anchors.bottomMargin: 30
font.family: ScreenPlay.settings.font
}
Timer {

View File

@ -116,6 +116,7 @@ Item {
Text {
id: txtHeader
text: qsTr("Pull to refresh!")
font.family: ScreenPlay.settings.font
anchors.centerIn: parent
color: "gray"
font.pointSize: 18
@ -130,6 +131,7 @@ Item {
Text {
id: txtFooter
font.family: ScreenPlay.settings.font
text: qsTr("Get more Wallpaper & Widgets via the Steam workshop!")
anchors.centerIn: parent
color: "gray"
@ -219,6 +221,9 @@ Item {
right: parent.right
left: parent.left
}
MouseArea {
anchors.fill: parent
}
TabBar {
height: parent.height
background: Item {}
@ -232,6 +237,7 @@ Item {
TabButton {
text: qsTr("All")
font.family: ScreenPlay.settings.font
icon.height: 16
icon.width: 16
height: parent.height
@ -247,6 +253,7 @@ Item {
text: qsTr("Scenes")
icon.height: 16
icon.width: 16
font.family: ScreenPlay.settings.font
width: implicitWidth
height: parent.height
background: Item {}
@ -260,6 +267,7 @@ Item {
text: qsTr("Videos")
icon.height: 16
icon.width: 16
font.family: ScreenPlay.settings.font
height: parent.height
width: implicitWidth
background: Item {}
@ -273,6 +281,7 @@ Item {
text: qsTr("Widgets")
icon.height: 16
icon.width: 16
font.family: ScreenPlay.settings.font
height: parent.height
width: implicitWidth
background: Item {}
@ -301,7 +310,7 @@ Item {
id: txtSearch
width: 250
height: 40
font.family: "Roboto"
font.family: ScreenPlay.settings.font
leftPadding: 10
anchors {
right: icnSearch.right

View File

@ -2,7 +2,7 @@ import QtQuick 2.12
import QtQuick.Controls 2.3
import QtQuick.Controls.Styles 1.4
import QtQuick.Controls.Material 2.2
import ScreenPlay 1.0
import "../Common"
Item {
@ -52,7 +52,7 @@ Item {
x: 20
y: 80
text: qsTr("Get free Widgets and Wallpaper via the Steam Workshop")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
wrapMode: Text.WordWrap
color: "white"

View File

@ -191,7 +191,7 @@ Item {
Text {
id: txtHeadline
text: qsTr("Headline")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Thin
verticalAlignment: Text.AlignBottom
font.pointSize: 16
@ -242,7 +242,7 @@ Item {
id: txtHeadlineMonitor
height: 20
text: qsTr("Select a Monitor to display the content")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter
font.pointSize: 10
color: "#626262"
@ -277,7 +277,7 @@ Item {
id: txtComboBoxFillMode
text: qsTr("Fill Mode")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter
font.pointSize: 10
color: "#626262"
@ -290,6 +290,7 @@ Item {
Layout.fillWidth: true
textRole: "text"
valueRole: "value"
font.family: ScreenPlay.settings.font
currentIndex: root.indexOfValue(
cbVideoFillMode.model,
ScreenPlay.settings.videoFillMode)
@ -321,7 +322,7 @@ Item {
Material.accent: Material.Orange
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
icon.source: "qrc:/assets/icons/icon_plus.svg"
icon.color: "white"
icon.width: 16

View File

@ -60,7 +60,7 @@ ColumnLayout {
Text {
id: txtComboBoxFillMode
text: qsTr("Fill Mode")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter
font.pointSize: 10
color: "#626262"

View File

@ -1,5 +1,6 @@
import QtQuick 2.12
import QtGraphicalEffects 1.0
import ScreenPlay 1.0
Item {
id: root
@ -37,7 +38,7 @@ Item {
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.pointSize: root.fontSize
font.family: "Roboto"
font.family: ScreenPlay.settings.font
wrapMode: Text.WrapAnywhere
}

View File

@ -65,7 +65,7 @@ Item {
text: qsTr("Wallpaper Configuration")
font.pointSize: 21
color: "#626262"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Thin
width: 400
anchors {
@ -130,6 +130,7 @@ Item {
text: qsTr("Remove selected")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
enabled: monitorSelection.activeMonitors.length == 1
onClicked: {
ScreenPlay.screenPlayManager.removeWallpaperAt(monitorSelection.activeMonitors[0])
@ -141,6 +142,7 @@ Item {
text: qsTr("Remove all Wallpapers")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
enabled: ScreenPlay.screenPlayManager.activeWallpaperCounter > 0
onClicked: {
ScreenPlay.screenPlayManager.removeAllWallpapers()
@ -152,6 +154,7 @@ Item {
text: qsTr("Remove all Widgets")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
enabled: ScreenPlay.screenPlayManager.activeWidgetsCounter > 0
onClicked: {
ScreenPlay.screenPlayManager.removeAllWidgets()

View File

@ -20,7 +20,7 @@ Rectangle {
width: 100
font.pointSize: isHeadline ? 18 : 12
anchors.verticalCenter: parent.verticalCenter
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
color: isHeadline ? Qt.darker(Material.foreground) : Material.foreground

View File

@ -2,7 +2,6 @@ import QtQuick 2.12
import QtQuick.Controls 2.3
import QtGraphicalEffects 1.0
import ScreenPlay 1.0
import "../Workshop"
@ -15,6 +14,10 @@ Rectangle {
width: 1366
color: "#ffffff"
MouseArea {
anchors.fill: parent
}
signal changePage(string name)
property var navArray: [navCreate, navWorkshop, navInstalled, navSettings, navCommunity]

View File

@ -1,5 +1,6 @@
import QtQuick 2.12
import QtGraphicalEffects 1.0
import ScreenPlay 1.0
Item {
id: navigationItem
@ -64,7 +65,7 @@ Item {
font.pointSize: 14
color: "#626262"
anchors.verticalCenter: parent.verticalCenter
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
text: ""
@ -78,7 +79,7 @@ Item {
font.pointSize: 14
color: "#626262"
anchors.verticalCenter: parent.verticalCenter
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
}

View File

@ -51,7 +51,7 @@ Item {
color: "orange"
font.pointSize: 10
font.bold: true
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
horizontalCenter: parent.horizontalCenter
@ -79,7 +79,7 @@ Item {
horizontalAlignment: Text.AlignRight
color: "#626262"
font.pointSize: 12
font.family: "Roboto"
font.family: ScreenPlay.settings.font
}
MouseArea {
id: ma

View File

@ -1,6 +1,7 @@
import QtQuick 2.12
import QtQuick.Controls 2.3
import QtQuick.Controls.Material 2.2
import ScreenPlay 1.0
Item {
id: settingsBool
@ -26,7 +27,7 @@ Item {
id: txtHeadline
color: "#5D5D5D"
text: settingsBool.headline
font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
anchors{
@ -38,7 +39,6 @@ Item {
}
font.pointSize: 12
font.family: "Roboto"
}
Text {
@ -46,11 +46,11 @@ Item {
text: settingsBool.description
wrapMode: Text.WordWrap
color: "#B5B5B5"
font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
font.pointSize: 10
font.family: "Roboto"
anchors{
top:txtHeadline.bottom
topMargin: 6

View File

@ -163,7 +163,7 @@ Item {
wrapMode: Text.WordWrap
horizontalAlignment: Text.AlignLeft
font.pointSize: 10
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
right: parent.right
left: parent.left
@ -180,13 +180,13 @@ Item {
Component.onCompleted: {
settingsLanguage.comboBox.currentIndex = root.indexOfValue(
settingsLanguage.comboBox.model,
ScreenPlay.settings.videoFillMode)
ScreenPlay.settings.language)
}
comboBox {
onActivated: {
ScreenPlay.settings.setLanguage(settingsLanguage.comboBox.currentValue)
ScreenPlay.settings.setupLanguage()
ScreenPlay.settings.retranslateUI()
}
model: [{
"value": Settings.En,
@ -203,6 +203,12 @@ Item {
}, {
"value": Settings.Es,
"text": qsTr("Spanish")
}, {
"value": Settings.Ko,
"text": qsTr("Korean")
}, {
"value": Settings.Vi,
"text": qsTr("Vietnamese")
}]
}
}
@ -363,6 +369,7 @@ Item {
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
font.pointSize: 16
font.family: ScreenPlay.settings.font
anchors {
top: parent.top
topMargin: 6
@ -379,7 +386,7 @@ Item {
verticalAlignment: Text.AlignTop
horizontalAlignment: Text.AlignLeft
font.pointSize: 11
font.family: "Roboto"
font.family: ScreenPlay.settings.font
width: parent.width * .6
anchors {
top: txtHeadline.bottom

View File

@ -1,6 +1,7 @@
import QtQuick 2.12
import QtQuick.Controls 2.3
import QtQuick.Controls.Material 2.2
import ScreenPlay 1.0
Item {
id: settingsButton
@ -31,7 +32,6 @@ Item {
id: txtHeadline
color: "#5D5D5D"
text: settingsButton.headline
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
anchors {
@ -42,6 +42,7 @@ Item {
}
font.pointSize: 12
font.family: ScreenPlay.settings.font
}
Text {
@ -53,7 +54,7 @@ Item {
wrapMode: Text.WordWrap
horizontalAlignment: Text.AlignLeft
font.pointSize: 10
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
top: txtHeadline.bottom
topMargin: 6
@ -71,6 +72,7 @@ Item {
Material.foreground: "white"
icon.width: 20
icon.height: 20
font.family: ScreenPlay.settings.font
anchors {
right: parent.right
rightMargin: 20

View File

@ -1,5 +1,6 @@
import QtQuick 2.12
import QtQuick.Controls 2.3
import ScreenPlay 1.0
Item {
id: settingsComboBox
@ -26,7 +27,7 @@ Item {
}
font.pointSize: 12
font.family: "Roboto"
font.family: ScreenPlay.settings.font
}
Text {
@ -38,7 +39,7 @@ Item {
horizontalAlignment: Text.AlignLeft
wrapMode: Text.WordWrap
font.pointSize: 10
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
top: txtHeadline.bottom
topMargin: 6
@ -54,6 +55,7 @@ Item {
implicitWidth: 200
textRole: "text"
valueRole: "value"
font.family: ScreenPlay.settings.font
anchors {
right: parent.right
rightMargin: 20

View File

@ -32,6 +32,7 @@ Rectangle {
color: "#626262"
height: txtExpander.paintedHeight
wrapMode: Text.WordWrap
font.family: ScreenPlay.settings.font
}
MouseArea {
anchors.fill: parent

View File

@ -1,5 +1,6 @@
import QtQuick 2.12
import QtGraphicalEffects 1.0
import ScreenPlay 1.0
Item {
id: settingsHeader
@ -65,8 +66,7 @@ Item {
font.pointSize: 12
color: "white"
verticalAlignment: Text.AlignTop
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
top: parent.top
topMargin: 0

View File

@ -62,15 +62,17 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
setCheckWallpaperVisible(m_qSettings.value("CheckWallpaperVisible", true).toBool());
setHighPriorityStart(m_qSettings.value("ScreenPlayExecutable", false).toBool());
setVideoFillMode(SettingsSetQStringToEnum<FillMode>("VideoFillMode", FillMode::Fill, m_qSettings));
setLanguage(SettingsSetQStringToEnum<Language>("Language", Language::En, m_qSettings));
if (m_qSettings.contains("VideoFillMode")) {
auto value = m_qSettings.value("VideoFillMode").toString();
setVideoFillMode(QStringToEnum<FillMode>(value, FillMode::Fill));
}
setAnonymousTelemetry(m_qSettings.value("AnonymousTelemetry", true).toBool());
// Wallpaper and Widgets config
QFile profilesFile(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + "/profiles.json");
QFile profilesFile(m_globalVariables->localSettingsPath().toLocalFile() + "/profiles.json");
if (!profilesFile.exists()) {
qInfo("No profiles.json found, creating default settings");
qInfo("No profiles.json found, creating default profiles.json");
qDebug() << profilesFile;
writeJsonFileFromResource("profiles");
}
@ -109,7 +111,6 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
setupWidgetAndWindowPaths();
setGitBuildHash(GIT_VERSION);
setupLanguage();
}
/*!
@ -211,29 +212,46 @@ void Settings::restoreDefault(const QString& appConfigLocation, const QString& s
void Settings::setupLanguage()
{
auto* app = static_cast<QGuiApplication*>(QGuiApplication::instance());
QString langCode;
if (m_qSettings.value("Language").isNull()) {
auto locale = QLocale::system().uiLanguages();
auto localeSplits = locale.at(0).split("-");
auto localeList = QLocale::system().uiLanguages();
// Only install a translator if one exsists
QFile tsFile;
qDebug() << ":/translations/ScreenPlay_" + localeSplits.at(0) + ".qm";
if (tsFile.exists(":/translations/ScreenPlay_" + localeSplits.at(0) + ".qm")) {
m_translator.load(":/translations/ScreenPlay_" + localeSplits.at(0) + ".qm");
m_qSettings.setValue("language", QVariant(localeSplits.at(0)));
// setLanguage(QVariant(localeSplits.at(0)).toString());
// Like En-us, De-de
QStringList localeSplits = localeList.at(0).split("-");
langCode = localeSplits.at(0);
m_qSettings.sync();
app->installTranslator(&m_translator);
// Ether De, En, Ru, Fr...
if (langCode.length() != 2) {
qWarning() << "Could not parse locale of value " << langCode;
return;
}
} else {
QFile tsFile;
if (tsFile.exists(":/translations/ScreenPlay_" + m_qSettings.value("Language").toString() + ".qm")) {
m_translator.load(":/translations/ScreenPlay_" + m_qSettings.value("Language").toString() + ".qm");
// setLanguage(m_qSettings.value("language").toString());
app->installTranslator(&m_translator);
}
langCode = m_qSettings.value("Language").toString();
}
setLanguage(QStringToEnum<Language>(langCode, Language::En));
retranslateUI();
}
bool Settings::retranslateUI()
{
auto* app = static_cast<QGuiApplication*>(QGuiApplication::instance());
QString langCode = QVariant::fromValue(language()).toString();
langCode = langCode.toLower();
QFile tsFile;
if (tsFile.exists(":/translations/ScreenPlay_" + langCode + ".qm")) {
m_translator.load(":/translations/ScreenPlay_" + langCode + ".qm");
app->installTranslator(&m_translator);
emit requestRetranslation();
if (language() == Settings::Language::Ko) {
setFont("Noto Sans CJK KR Regular");
} else {
setFont("Roboto");
}
return true;
}
return false;
}
}

View File

@ -43,26 +43,23 @@ using std::shared_ptr,
std::make_shared;
template <typename T>
T SettingsSetQStringToEnum(const QString& key, const T defaultValue, const QSettings& settings)
T QStringToEnum(const QString& key, const T defaultValue)
{
auto metaEnum = QMetaEnum::fromType<T>();
if (!settings.value(key).isNull()) {
QString value = settings.value(key).toString();
bool ok = false;
T wantedEnum = static_cast<T>(metaEnum.keyToValue(value.toUtf8(), &ok));
bool ok = false;
T wantedEnum = static_cast<T>(metaEnum.keyToValue(key.toUtf8(), &ok));
if (ok) {
return wantedEnum;
}
if (ok) {
return wantedEnum;
}
return defaultValue;
}
class Settings : public QObject {
Q_OBJECT
Q_PROPERTY(bool anonymousTelemetry READ anonymousTelemetry WRITE setAnonymousTelemetry NOTIFY anonymousTelemetryChanged)
Q_PROPERTY(bool silentStart READ silentStart WRITE setSilentStart NOTIFY silentStartChanged)
Q_PROPERTY(bool autostart READ autostart WRITE setAutostart NOTIFY autostartChanged)
@ -75,6 +72,7 @@ class Settings : public QObject {
Q_PROPERTY(QString decoder READ decoder WRITE setDecoder NOTIFY decoderChanged)
Q_PROPERTY(QString gitBuildHash READ gitBuildHash WRITE setGitBuildHash NOTIFY gitBuildHashChanged)
Q_PROPERTY(QString font READ font WRITE setFont NOTIFY fontChanged)
public:
explicit Settings(
@ -95,11 +93,12 @@ public:
De,
Ru,
Fr,
Es
Es,
Ko,
Vi
};
Q_ENUM(Language)
bool offlineMode() const
{
return m_offlineMode;
@ -155,7 +154,17 @@ public:
return m_language;
}
public:
void setupLanguage();
QString font() const
{
return m_font;
}
signals:
void requestRetranslation();
void autostartChanged(bool autostart);
void highPriorityStartChanged(bool highPriorityStart);
void hasWorkshopBannerSeenChanged(bool hasWorkshopBannerSeen);
@ -170,10 +179,12 @@ signals:
void videoFillModeChanged(FillMode videoFillMode);
void languageChanged(Language language);
void fontChanged(QString font);
public slots:
void writeJsonFileFromResource(const QString& filename);
void setupWidgetAndWindowPaths();
void setupLanguage();
bool retranslateUI();
void setqSetting(const QString& key, const QVariant& value)
{
m_qSettings.setValue(key, value);
@ -304,6 +315,15 @@ public slots:
emit languageChanged(m_language);
}
void setFont(QString font)
{
if (m_font == font)
return;
m_font = font;
emit fontChanged(m_font);
}
private:
void restoreDefault(const QString& appConfigLocation, const QString& settingsFileType);
@ -324,5 +344,6 @@ private:
QString m_decoder;
FillMode m_videoFillMode;
Language m_language = Language::En;
QString m_font {"Roboto"};
};
}

Binary file not shown.

View File

@ -0,0 +1,889 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ko_KR">
<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> Stomt를 . Stomt를 . !</translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="105"/>
<source>Open ScreenPlay Stomt page</source>
<translation>ScreenPlay Stomt </translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="195"/>
<source>Forums</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="206"/>
<source>Blog</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="217"/>
<source>Source Code</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="229"/>
<source>Workshop</source>
<translation></translation>
</message>
</context>
<context>
<name>Create</name>
<message>
<location filename="../qml/Create/Create.qml" line="116"/>
<source>Create wallpapers and widgets for local usage or the steam workshop!</source>
<translation> , !</translation>
</message>
</context>
<context>
<name>CreateContent</name>
<message>
<location filename="../qml/Create/CreateContent.qml" line="15"/>
<source>Create Widgets and Scenes</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/CreateContent.qml" line="30"/>
<source>Create Empty Widget</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/CreateContent.qml" line="43"/>
<source>Example Widgets and Scenes</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/CreateContent.qml" line="67"/>
<source>Simple clock widget</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/CreateContent.qml" line="78"/>
<source>Musik scene wallpaper visualizer</source>
<translation>Musik </translation>
</message>
<message>
<location filename="../qml/Create/CreateContent.qml" line="89"/>
<source>Changing scene wallpaper via unsplash.com</source>
<translation>unsplash.com을 </translation>
</message>
</context>
<context>
<name>CreateEmptyWidget</name>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="16"/>
<source>Create an empty widget</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="73"/>
<source>General</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="80"/>
<source>Widget name</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="92"/>
<source>Copyright owner</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="95"/>
<source>Type</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="122"/>
<source>License</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="143"/>
<source>Tags</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="166"/>
<source>Save</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="192"/>
<source>Abort</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="218"/>
<source>Create Widget...</source>
<translation> ...</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>
</context>
<context>
<name>CreateWallpaperResult</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="18"/>
<source>An error occurred!</source>
<translation> !</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="76"/>
<source>Copy text to clipboard</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="86"/>
<source>Back to create and send an error report!</source>
<translation> !</translation>
</message>
</context>
<context>
<name>CreateWallpaperVideoImportConvert</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="54"/>
<source>Generating preview image...</source>
<translation> ...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="57"/>
<source>Generating preview thumbnail image...</source>
<translation> ...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="64"/>
<source>Generating 5 second preview video...</source>
<translation>5 ...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="67"/>
<source>Generating preview gif...</source>
<translation> gif ...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="76"/>
<source>Converting Audio...</source>
<translation> ...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="79"/>
<source>Converting Video... This can take some time!</source>
<translation> ... !</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="83"/>
<source>Converting Video ERROR!</source>
<translation> !</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="107"/>
<source>Convert a video to a wallpaper</source>
<translation> </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="199"/>
<source>Generating preview video...</source>
<translation> ...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="210"/>
<source>You can set your own preview image here!</source>
<translation> !</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="246"/>
<source>Name (required!)</source>
<translation> (!)</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="260"/>
<source>Description</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="268"/>
<source>Youtube URL</source>
<translation> URL</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="293"/>
<source>Abort</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="305"/>
<source>Save</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="341"/>
<source>Save Wallpaper...</source>
<translation> ...</translation>
</message>
</context>
<context>
<name>DefaultVideoControls</name>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="26"/>
<source>Volume</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="32"/>
<source>Playback rate</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="38"/>
<source>Current Video Time</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="51"/>
<source>Fill Mode</source>
<translation> </translation>
</message>
</context>
<context>
<name>FFMPEGPopup</name>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="31"/>
<source>Begin downloading FFMPEG</source>
<translation>FFMPEG </translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="35"/>
<source>FFMPEG download failed</source>
<translation>FFMPEG </translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="39"/>
<source>FFMPEG download successful</source>
<translation>FFMPEG </translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="42"/>
<source>Extracting FFMPEG</source>
<translation>FFMPEG </translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="46"/>
<source>ERROR extracting ffmpeg from RAM</source>
<translation>RAM에서 FFMPEG </translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="51"/>
<source>ERROR extracing ffmpeg</source>
<translation>FFMPEG </translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="56"/>
<source>ERROR saving FFMPEG to disk</source>
<translation>FFMPEG </translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="61"/>
<source>ERROR extracing FFPROBE</source>
<translation>FFPROBE </translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="66"/>
<source>ERROR saving FFPROBE to disk</source>
<translation>FFPROBE </translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="70"/>
<source>Extraction successful</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="73"/>
<source>All done and ready to go!</source>
<translation> !</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="88"/>
<source>You cannot create Wallaper without FFMPEG installed!</source>
<translation>FFMPEG를 !</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="109"/>
<source>Abort</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="119"/>
<location filename="../qml/Create/FFMPEGPopup.qml" line="287"/>
<source>Download FFMPEG</source>
<translation>FFMPEG </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>FFMPEG를 </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 source
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 proprietary 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 wedo not have any expertise in. The desicion to enable only free codecs for content wasan easy one but we still need to provide a way for our user to import wallpaper without a hassle. We do not provide &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; for 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>&lt;b&gt; ?&lt;/b&gt;
&lt;br&gt;&lt;br&gt; , &lt;b&gt;&lt;/b&gt; &lt;b&gt;&lt;/b&gt; .
mp4나 webm .
.
&lt;a href=&apos;https://wikipedia.org/wiki/VP8&apos;&gt;VP8&lt;/a&gt; 혹은 새로운 버전인 &lt;a href=&apos;https://wikipedia.org/wiki/VP9&apos;&gt;VP9(유튜브에서 동영상을 볼 때 사용됩니다)&lt;/a&gt;와 같은 무료 오픈소스도 있지만,
&lt;a href=&apos;https://wikipedia.org/wiki/H.264/MPEG-4_AVC&apos;&gt;h264&lt;/a&gt;와 다음 버전인 &lt;a href=&apos;https://wikipedia.org/wiki/High_Efficiency_Video_Coding&apos;&gt;h265&lt;/a&gt;와 같은 것도 있습니다.
&lt;br&gt;
&lt;br&gt;
, , . , . &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt;를 배포할 권한이 없지만, 여러분이 직접 &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt;를 다운로드 하는 것은 전혀 문제가 없습니다!
&lt;br&gt;
:)
&lt;br&gt;
&lt;br&gt;
&lt;center&gt;
&lt;b&gt;
ScreenPlay EXE FFMPEG와 FFPROBE를
&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
:
&lt;br&gt; C:Program Files (x86)SteamsteamappscommonScreenPlay
&lt;br&gt;
Steam을 !
&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;~ Kelteseth | Elias Steurer&lt;/b&gt;</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="294"/>
<source>Not now!</source>
<translation> !</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="337"/>
<source>You can now start creating content!</source>
<translation> !</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="369"/>
<source>Start!</source>
<translation>!</translation>
</message>
</context>
<context>
<name>Footer</name>
<message>
<location filename="../qml/Create/Footer.qml" line="23"/>
<source>QML Quickstart Guide</source>
<translation>QML </translation>
</message>
<message>
<location filename="../qml/Create/Footer.qml" line="34"/>
<source>Documentation</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Footer.qml" line="45"/>
<source>Forums</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Create/Footer.qml" line="56"/>
<source>Workshop</source>
<translation></translation>
</message>
</context>
<context>
<name>ImageSelector</name>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="139"/>
<source>Clear</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="153"/>
<source>Select Preview Image</source>
<translation> </translation>
</message>
</context>
<context>
<name>ImportContent</name>
<message>
<location filename="../qml/Create/ImportContent.qml" line="25"/>
<source>Import Content</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/ImportContent.qml" line="77"/>
<source>Import video</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Create/ImportContent.qml" line="77"/>
<source>FFMPEG Needed for import</source>
<translation> FFMPEG가 </translation>
</message>
<message>
<location filename="../qml/Create/ImportContent.qml" line="159"/>
<source>Import ThreeJs Scene</source>
<translation>ThreeJs </translation>
</message>
<message>
<location filename="../qml/Create/ImportContent.qml" line="241"/>
<source>Upload Exsisting Project to Steam</source>
<translation> </translation>
</message>
</context>
<context>
<name>Installed</name>
<message>
<location filename="../qml/Installed/Installed.qml" line="93"/>
<source>Refreshing!</source>
<translation> !</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> !</translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="133"/>
<source>Get more Wallpaper &amp; Widgets via the Steam workshop!</source>
<translation> &amp; !</translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="267"/>
<source>All</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="276"/>
<source>Videos</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="285"/>
<source>Scenes</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="294"/>
<source>Widgets</source>
<translation></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> &amp; </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> </translation>
</message>
<message>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="84"/>
<source>Browse the Steam Workshop</source>
<translation> </translation>
</message>
</context>
<context>
<name>Monitors</name>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="65"/>
<source>Wallpaper Configuration</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="131"/>
<source>Remove selected</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="142"/>
<source>Remove all Wallpapers</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="152"/>
<source>Remove all Widgets</source>
<translation> </translation>
</message>
</context>
<context>
<name>NavigationWallpaperConfiguration</name>
<message>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="68"/>
<source>Configurate active Wallpaper or Widgets</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="70"/>
<source>No active Wallpaper or Widgets</source>
<translation> </translation>
</message>
</context>
<context>
<name>ScreenPlayItem</name>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="229"/>
<source>Open containing folder</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="236"/>
<source>Open workshop Page</source>
<translation> </translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<location filename="../qml/Settings/Settings.qml" line="69"/>
<source>General</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="87"/>
<source>Autostart</source>
<translation> </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> .</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="98"/>
<source>High priority Autostart</source>
<translation> </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> ScreenPlay에 .</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="113"/>
<source>Send anonymous crash reports and statistics</source>
<translation> </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>ScreenPlay가 . !</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="125"/>
<source>Set save location</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="127"/>
<source>Set location</source>
<translation> </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>중요: . ScreenPlay는 !</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="162"/>
<source>Language</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="163"/>
<source>Set the ScreenPlay UI Language</source>
<translation>ScreenPlay UI </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="247"/>
<source>Performance</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="267"/>
<source>Pause wallpaper while ingame</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="269"/>
<source>To maximise your framerates ingame, you can enable this setting to pause all active wallpapers!</source>
<translation> , !</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="282"/>
<source>Default Fill Mode</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="283"/>
<source>Set this property to define how the video is scaled to fit the target area.</source>
<translation> .</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="332"/>
<source>About</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="358"/>
<source>Thank you for using ScreenPlay</source>
<translation>ScreenPlay를 </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="372"/>
<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>, ScreenPlay를 , Kelteseth Elias Steurer입니다. . ScreenPlay의 :</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="459"/>
<source>Version</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="460"/>
<source>ScreenPlay Build Version </source>
<translation>ScreenPlay </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="462"/>
<source>Open Changelog</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="469"/>
<source>Third Party Software</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="470"/>
<source>ScreenPlay would not be possible without the work of others. A big thank you to: </source>
<translation>ScreenPlay . : </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="471"/>
<source>Licenses</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="493"/>
<location filename="../qml/Settings/Settings.qml" line="495"/>
<source>Debug Messages</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="494"/>
<source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source>
<translation>ScreenPlay가 , . .</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="510"/>
<source>Data Protection</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="511"/>
<source>We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</source>
<translation>ScreenPlay . !</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="512"/>
<source>Privacy</source>
<translation> </translation>
</message>
</context>
<context>
<name>SettingsExpander</name>
<message>
<location filename="../qml/Settings/SettingsExpander.qml" line="46"/>
<source>Copy text to clipboard</source>
<translation> </translation>
</message>
</context>
<context>
<name>Sidebar</name>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="188"/>
<source>Headline</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="239"/>
<source>Select a Monitor to display the content</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="263"/>
<source>Set Volume</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="273"/>
<source>Fill Mode</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="311"/>
<source>Set wallpaper</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="415"/>
<source>Set Wallpaper</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="466"/>
<source>Create Widget</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="487"/>
<location filename="../qml/Installed/Sidebar.qml" line="514"/>
<source>Create Wallpaper</source>
<translation> </translation>
</message>
</context>
<context>
<name>TagSelector</name>
<message>
<location filename="../qml/Common/TagSelector.qml" line="11"/>
<source>Save</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="14"/>
<source>Add tag</source>
<translation> </translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="107"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="125"/>
<source>Add Tag</source>
<translation> </translation>
</message>
</context>
<context>
<name>XMLNewsfeed</name>
<message>
<location filename="../qml/Community/XMLNewsfeed.qml" line="58"/>
<source>News &amp; Patchnotes</source>
<translation> &amp; </translation>
</message>
</context>
<context>
<name>main</name>
<message>
<location filename="../main.qml" line="115"/>
<source>ScreenPlay - Double click to change you settings.</source>
<translation>ScreenPlay - .</translation>
</message>
<message>
<location filename="../main.qml" line="134"/>
<source>Open ScreenPlay</source>
<translation>ScreenPlay </translation>
</message>
<message>
<location filename="../main.qml" line="142"/>
<location filename="../main.qml" line="146"/>
<source>Mute all</source>
<translation> </translation>
</message>
<message>
<location filename="../main.qml" line="150"/>
<source>Unmute all</source>
<translation> </translation>
</message>
<message>
<location filename="../main.qml" line="158"/>
<location filename="../main.qml" line="162"/>
<source>Pause all</source>
<translation> </translation>
</message>
<message>
<location filename="../main.qml" line="166"/>
<source>Play all</source>
<translation> </translation>
</message>
<message>
<location filename="../main.qml" line="172"/>
<source>Quit</source>
<translation></translation>
</message>
</context>
</TS>

Binary file not shown.

View File

@ -0,0 +1,964 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="vi">
<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">Chúng tôi sử dụng Stomt cung cấp những phản hồi dễ dàng nhanh chóng như Tôi muốn/Tôi ưc. vậy bạn thể gửi phản hòi cho chúng tôi một cách dễ dàng nói lên suy nghĩ của bạn. Chúng tôi sẽ đc những mong muốn này hàng ngày!</translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="105"/>
<source>Open ScreenPlay Stomt page</source>
<translation type="unfinished">Trang Stomt của ScreenPlayScreenPlay</translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="195"/>
<source>Forums</source>
<translation type="unfinished">Diễn đàn</translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="206"/>
<source>Blog</source>
<translation type="unfinished">Blog</translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="217"/>
<source>Source Code</source>
<translation type="unfinished"> nguồn</translation>
</message>
<message>
<location filename="../qml/Community/Community.qml" line="229"/>
<source>Workshop</source>
<translation type="unfinished">Workshop</translation>
</message>
</context>
<context>
<name>Create</name>
<message>
<location filename="../qml/Create/Create.qml" line="116"/>
<source>Create wallpapers and widgets for local usage or the steam workshop!</source>
<translation type="unfinished">Tạo hình nền đng tiện ích đ sử dụng riêng hoặc đ cho Steam Workshop</translation>
</message>
</context>
<context>
<name>CreateContent</name>
<message>
<location filename="../qml/Create/CreateContent.qml" line="15"/>
<source>Create Widgets and Scenes</source>
<translation type="unfinished">Tạo tiện ích các cảnh</translation>
</message>
<message>
<source>Create Emtpy Widget</source>
<translation type="obsolete">Tạo một tiện ích trống</translation>
</message>
<message>
<source>Examples Widgets and Scenes</source>
<translation type="obsolete"> dụ của tiện ích cảnh</translation>
</message>
<message>
<location filename="../qml/Create/CreateContent.qml" line="30"/>
<source>Create Empty Widget</source>
<translation type="unfinished">Tạo một tiện ích trống</translation>
</message>
<message>
<location filename="../qml/Create/CreateContent.qml" line="43"/>
<source>Example Widgets and Scenes</source>
<translation type="unfinished"> dụ của tiện ích cảnh</translation>
</message>
<message>
<location filename="../qml/Create/CreateContent.qml" line="67"/>
<source>Simple clock widget</source>
<translation type="unfinished">Tiện ích đng hồ đơn giản</translation>
</message>
<message>
<location filename="../qml/Create/CreateContent.qml" line="78"/>
<source>Musik scene wallpaper visualizer</source>
<translation type="unfinished">Cảnh hiệu ng âm thanh</translation>
</message>
<message>
<location filename="../qml/Create/CreateContent.qml" line="89"/>
<source>Changing scene wallpaper via unsplash.com</source>
<translation type="unfinished">Đi cảnh thồng qua unsplash.comcom</translation>
</message>
</context>
<context>
<name>CreateEmptyWidget</name>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="16"/>
<source>Create an empty widget</source>
<translation type="unfinished">Tạo một tiện ích trống</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="73"/>
<source>General</source>
<translation type="unfinished">Chung</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="80"/>
<source>Widget name</source>
<translation type="unfinished">Tên tiện ích</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="92"/>
<source>Copyright owner</source>
<translation type="unfinished">Bản quyền của người sở hữu</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="95"/>
<source>Type</source>
<translation type="unfinished">Loại</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="122"/>
<source>License</source>
<translation type="unfinished">Bản quyền</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="143"/>
<source>Tags</source>
<translation type="unfinished">Từ khóa</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="166"/>
<source>Save</source>
<translation type="unfinished">Lưu</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="192"/>
<source>Abort</source>
<translation type="unfinished">Hủy bỏbỏ</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateEmptyWidget/CreateEmptyWidget.qml" line="218"/>
<source>Create Widget...</source>
<translation type="unfinished">Tạo một tiện ích...</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>
</context>
<context>
<name>CreateWallpaperResult</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="18"/>
<source>An error occurred!</source>
<translation type="unfinished">Đã lỗi xảy ra T.T!</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="76"/>
<source>Copy text to clipboard</source>
<translation type="unfinished">Sao chép chữ vào khay nhớ tạm</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperResult.qml" line="86"/>
<source>Back to create and send an error report!</source>
<translation type="unfinished">Quay trở lại đ tạo gửi báo cáo lỗi!</translation>
</message>
</context>
<context>
<name>CreateWallpaperVideoImportConvert</name>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="54"/>
<source>Generating preview image...</source>
<translation type="unfinished">Generación de la imagen de previsualización...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="57"/>
<source>Generating preview thumbnail image...</source>
<translation type="unfinished">Đang tạo nh minh họa...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="64"/>
<source>Generating 5 second preview video...</source>
<translation type="unfinished">Đang tạo video 5s minh họa...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="67"/>
<source>Generating preview gif...</source>
<translation type="unfinished">Đang tạo nh đng minh họa...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="76"/>
<source>Converting Audio...</source>
<translation type="unfinished">Đang chuyển đi đnh dạng âm thanh...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="79"/>
<source>Converting Video... This can take some time!</source>
<translation type="unfinished">Đang chuyển đi đnh dạng video... Quá trình này thể tốn một lúc!</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="83"/>
<source>Converting Video ERROR!</source>
<translation type="unfinished">Chuyển đi đnh dạng video thất bại!</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="107"/>
<source>Convert a video to a wallpaper</source>
<translation type="unfinished">Chuyển đi một video thành môt nh nền đngđộng</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="199"/>
<source>Generating preview video...</source>
<translation type="unfinished">Đang tạo video minh họa...</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="210"/>
<source>You can set your own preview image here!</source>
<translation type="unfinished">Đt nh minh họa tùy chỉnh tại đây!</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="246"/>
<source>Name (required!)</source>
<translation type="unfinished">Tên (bắt buộc!)</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="260"/>
<source>Description</source>
<translation type="unfinished"> tả</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="268"/>
<source>Youtube URL</source>
<translation type="unfinished">Link YouTube</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="293"/>
<source>Abort</source>
<translation type="unfinished">Hủy bỏ</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="305"/>
<source>Save</source>
<translation type="unfinished">Lưu</translation>
</message>
<message>
<location filename="../qml/Create/Wizards/CreateWallpaper/CreateWallpaperVideoImportConvert.qml" line="341"/>
<source>Save Wallpaper...</source>
<translation type="unfinished">Lưu nh nền</translation>
</message>
</context>
<context>
<name>DefaultVideoControls</name>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="26"/>
<source>Volume</source>
<translation type="unfinished">Âm lượng</translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="32"/>
<source>Playback rate</source>
<translation type="unfinished">Tốc đ phát video</translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="38"/>
<source>Current Video Time</source>
<translation type="unfinished">Thời gian hiện tại của video</translation>
</message>
<message>
<location filename="../qml/Monitors/DefaultVideoControls.qml" line="51"/>
<source>Fill Mode</source>
<translation type="unfinished">Chế đ phủ</translation>
</message>
</context>
<context>
<name>FFMPEGPopup</name>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="31"/>
<source>Begin downloading FFMPEG</source>
<translation type="unfinished">Bắt đu tải FFMPEG</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="35"/>
<source>FFMPEG download failed</source>
<translation type="unfinished">Tải FFMPEG Thất bại!</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="39"/>
<source>FFMPEG download successful</source>
<translation type="unfinished">Tải thành công FFMPEG</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="42"/>
<source>Extracting FFMPEG</source>
<translation type="unfinished">Đang giải nén FFMPEG</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="46"/>
<source>ERROR extracting ffmpeg from RAM</source>
<translation type="unfinished">Giải nén FFMPEG từ RAM thất bại</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="51"/>
<source>ERROR extracing ffmpeg</source>
<translation type="unfinished">Giải nén FFMPEG thất bại</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="56"/>
<source>ERROR saving FFMPEG to disk</source>
<translation type="unfinished">Không thể lưu FFMPEG vào cứng</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="61"/>
<source>ERROR extracing FFPROBE</source>
<translation type="unfinished">Giải nén FFPROBE thất bại</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="66"/>
<source>ERROR saving FFPROBE to disk</source>
<translation type="unfinished">Không thể lưu FFPROBE vào cứng</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="70"/>
<source>Extraction successful</source>
<translation type="unfinished">Giải nén thành công</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="73"/>
<source>All done and ready to go!</source>
<translation type="unfinished">Mọi việc đã hoàn tất sẵn sàng!</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="88"/>
<source>You cannot create Wallaper without FFMPEG installed!</source>
<translation type="unfinished">Bạn không thể tạo nh nền khi chưa cài FFMPEG!</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="109"/>
<source>Abort</source>
<translation type="unfinished">Hủy bỏ</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="119"/>
<location filename="../qml/Create/FFMPEGPopup.qml" line="287"/>
<source>Download FFMPEG</source>
<translation type="unfinished">Tải FFMPEG</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">Trước khi bắt đu tạo các thứ bạn cần tải FFMPEG</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 source
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 proprietary 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 wedo not have any expertise in. The desicion to enable only free codecs for content wasan easy one but we still need to provide a way for our user to import wallpaper without a hassle. We do not provide &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; for 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">&lt;b&gt;Tại sao chúng tôi lại làm phiền bạn với cái này?&lt;/b&gt;
&lt;Đó bởi bản quyền rất rất nhiều bằng sáng chế
Các tệp như .mp4 .webm tệp chứa video âm thanh. Mọi âm thanh
tập tin video đưc hóa với một codec nhất đnh. Đy thể nguồn mở
miễn phí sử dụng như &lt;a href=&apos;https://wikipedia.org/wiki/VP8&apos;&gt;VP8&lt;/a&gt; và cái mới hơn &lt;a href=&apos;https://wikipedia.org/wiki/VP9&apos;&gt;VP9&lt;/a&gt; (Là cái mà YouTube dùng cho trang web của họ
ms)nhưng cũng một số cái đc quyền như &lt;a href=&apos;https://wikipedia.org/wiki/H.264/MPEG-4_AVC&apos;&gt;h264&lt;/a&gt; và codec kế vị &lt;a href=&apos;https://wikipedia.org/wiki/High_Efficiency_Video_Coding&apos;&gt;h265&lt;/a&gt;.
&lt;br&gt;
&lt;br&gt;
Chúng tôi nhà phát triển ư.dụng cần phải xử những thứ như thế này trong lĩnh vực chúng tôi không chuyên môn. Việc mong muốn chỉ kích hoạt codec miễn phí cho nội dung một cách dễ dàng nhưng chúng tôi vẫn cần cung cấp cách đ Ng. dùng dùng nh nền đng không rắc rối. Chúng tôi không cung cấp &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; để chuyển đổi video và âm thanh kèm với ScreenPlay bởi vì chúng tôi không được phép. Chúng tôi cho ng. dùng tải &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; là một điều rất bình thường!
&lt;br&gt;
Xin lỗi sự cố bất tiện này :)
&lt;br&gt;
&lt;br&gt;
&lt;centro&gt;
&lt;b&gt;
NẾU BẠN KO MẠNG THÌ BẠN CHỈ CẦN Đ FFMPEG FFPROBE
VÀO CHUNG VỚI THƯ MỤC CHƯA CÁC TỆP CỦA SCREENPLAY!
&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
Esto suele ser así:
&lt;br&gt; C:\Program Files (x86)\Steam\steamapps\common\ScreenPlay (hoặc C:\Tệp chương trình (x86)\Steam\steamapps\common\ScreenPlay) (Nếu máy bạn 32-bit thì Program Files hoặc Tệp Chương Trình ko x86 nhé)
&lt;br&gt;
Nếu bạn cài ScreenPlay qua Steam!
&lt;/centro&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;~ Kelteseth | Elias Steurer&lt;/b&gt;</translation>
</message>
<message>
<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="obsolete">&lt;b&gt;Tại sao chúng tôi lại làm phiền bạn với cái này?&lt;/b&gt;
&lt;Đó bởi bản quyền rất rất nhiều bằng sáng chế
Các tệp như .mp4 .webm tệp chứa video âm thanh. Mọi âm thanh
tập tin video đưc hóa với một codec nhất đnh. Đy thể nguồn mở
miễn phí sử dụng như &lt;a href=&apos;https://wikipedia.org/wiki/VP8&apos;&gt;VP8&lt;/a&gt; và cái mới hơn &lt;a href=&apos;https://wikipedia.org/wiki/VP9&apos;&gt;VP9&lt;/a&gt; (Là cái mà YouTube dùng cho trang web của họ
ms)nhưng cũng một số cái đc quyền như &lt;a href=&apos;https://wikipedia.org/wiki/H.264/MPEG-4_AVC&apos;&gt;h264&lt;/a&gt; và codec kế vị &lt;a href=&apos;https://wikipedia.org/wiki/High_Efficiency_Video_Coding&apos;&gt;h265&lt;/a&gt;.
&lt;br&gt;
&lt;br&gt;
Chúng tôi nhà phát triển ư.dụng cần phải xử những thứ như thế này trong lĩnh vực chúng tôi không chuyên môn. Việc mong muốn chỉ kích hoạt codec miễn phí cho nội dung một cách dễ dàng nhưng chúng tôi vẫn cần cung cấp cách đ Ng. dùng dùng nh nền đng không rắc rối. Chúng tôi không cung cấp &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; để chuyển đổi video và âm thanh kèm với ScreenPlay bởi vì chúng tôi không được phép. Chúng tôi cho ng. dùng tải &lt;a href=&apos;https://ffmpeg.org/&apos;&gt;FFMPEG&lt;/a&gt; là một điều rất bình thường!
&lt;br&gt;
Xin lỗi sự cố bất tiện này :)
&lt;br&gt;
&lt;br&gt;
&lt;centro&gt;
&lt;b&gt;
NẾU BẠN KO MẠNG THÌ BẠN CHỈ CẦN Đ FFMPEG FFPROBE
VÀO CHUNG VỚI THƯ MỤC CHƯA CÁC TỆP CỦA SCREENPLAY!
&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
Esto suele ser así:
&lt;br&gt; C:\Program Files (x86)\Steam\steamapps\common\ScreenPlay (hoặc C:\Tệp chương trình (x86)\Steam\steamapps\common\ScreenPlay) (Nếu máy bạn 32-bit thì Program Files hoặc Tệp Chương Trình ko x86 nhé)
&lt;br&gt;
Nếu bạn cài ScreenPlay qua Steam!
&lt;/centro&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;~ Kelteseth | Elias Steurer&lt;/b&gt;</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="294"/>
<source>Not now!</source>
<translation type="unfinished">Ko phải bây giờ!</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="337"/>
<source>You can now start creating content!</source>
<translation type="unfinished">Bạn đã sẵn sàng thể tạo các thứ!</translation>
</message>
<message>
<location filename="../qml/Create/FFMPEGPopup.qml" line="369"/>
<source>Start!</source>
<translation type="unfinished">Bắt đu!</translation>
</message>
</context>
<context>
<name>Footer</name>
<message>
<location filename="../qml/Create/Footer.qml" line="23"/>
<source>QML Quickstart Guide</source>
<translation type="unfinished">Hướng dẫn nhanh về QML</translation>
</message>
<message>
<location filename="../qml/Create/Footer.qml" line="34"/>
<source>Documentation</source>
<translation type="unfinished">Tài liệu</translation>
</message>
<message>
<location filename="../qml/Create/Footer.qml" line="45"/>
<source>Forums</source>
<translation type="unfinished">Diễn đàn</translation>
</message>
<message>
<location filename="../qml/Create/Footer.qml" line="56"/>
<source>Workshop</source>
<translation type="unfinished">Workshop</translation>
</message>
</context>
<context>
<name>ImageSelector</name>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="139"/>
<source>Clear</source>
<translation type="unfinished">Xóa</translation>
</message>
<message>
<location filename="../qml/Common/ImageSelector.qml" line="153"/>
<source>Select Preview Image</source>
<translation type="unfinished">Chọn nh minh họa</translation>
</message>
</context>
<context>
<name>ImportContent</name>
<message>
<location filename="../qml/Create/ImportContent.qml" line="25"/>
<source>Import Content</source>
<translation type="unfinished">Nhập nội dung</translation>
</message>
<message>
<location filename="../qml/Create/ImportContent.qml" line="77"/>
<source>Import video</source>
<translation type="unfinished">Nhập video</translation>
</message>
<message>
<location filename="../qml/Create/ImportContent.qml" line="77"/>
<source>FFMPEG Needed for import</source>
<translation type="unfinished">FFMPEG cần thiết đ nhập</translation>
</message>
<message>
<location filename="../qml/Create/ImportContent.qml" line="159"/>
<source>Import ThreeJs Scene</source>
<translation type="unfinished">Nhập cảnh ThreeJs</translation>
</message>
<message>
<location filename="../qml/Create/ImportContent.qml" line="241"/>
<source>Upload Exsisting Project to Steam</source>
<translation type="unfinished">Upload dự án sẵn lên Steam</translation>
</message>
</context>
<context>
<name>Installed</name>
<message>
<location filename="../qml/Installed/Installed.qml" line="93"/>
<source>Refreshing!</source>
<translation type="unfinished">Đang làm mới!</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">Kéo đ làm mới!</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">Lấy thêm nh nền &amp; tiện ích từ Steam Workshop!</translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="267"/>
<source>All</source>
<translation type="unfinished">Tất cả</translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="276"/>
<source>Videos</source>
<translation type="unfinished">Videos</translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="285"/>
<source>Scenes</source>
<translation type="unfinished">Cảnh</translation>
</message>
<message>
<location filename="../qml/Installed/Installed.qml" line="294"/>
<source>Widgets</source>
<translation type="unfinished">Tiện ích</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">Tìm nh nền</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">Lấy tiện ích nh nền miễn phí Steam Workshop</translation>
</message>
<message>
<location filename="../qml/Installed/InstalledWelcomeScreen.qml" line="84"/>
<source>Browse the Steam Workshop</source>
<translation type="unfinished">Duyệt Steam Workshop</translation>
</message>
</context>
<context>
<name>Monitors</name>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="65"/>
<source>Wallpaper Configuration</source>
<translation type="unfinished">Thiết lập nh nền</translation>
</message>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="131"/>
<source>Remove selected</source>
<translation type="unfinished">Loại bỏ những cái đã chọn</translation>
</message>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="142"/>
<source>Remove all Wallpapers</source>
<translation type="unfinished">Loại bỏ tất cả nh nền</translation>
</message>
<message>
<location filename="../qml/Monitors/Monitors.qml" line="152"/>
<source>Remove all Widgets</source>
<translation type="unfinished">Loại bỏ tất cả tiện ích</translation>
</message>
</context>
<context>
<name>NavigationWallpaperConfiguration</name>
<message>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="68"/>
<source>Configurate active Wallpaper or Widgets</source>
<translation type="unfinished">Thiết lập nh nền hoặc tiện ích đang hoạt đng</translation>
</message>
<message>
<location filename="../qml/Navigation/NavigationWallpaperConfiguration.qml" line="70"/>
<source>No active Wallpaper or Widgets</source>
<translation type="unfinished">Ko nh nền hoặc tiện ích nào đang hoạt đông</translation>
</message>
</context>
<context>
<name>ScreenPlayItem</name>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="229"/>
<source>Open containing folder</source>
<translation type="unfinished">Mở thư mục chứa file</translation>
</message>
<message>
<location filename="../qml/Installed/ScreenPlayItem.qml" line="236"/>
<source>Open workshop Page</source>
<translation type="unfinished">Mở trang Steam Workshop của file</translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<location filename="../qml/Settings/Settings.qml" line="69"/>
<source>General</source>
<translation type="unfinished">Chung</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="87"/>
<source>Autostart</source>
<translation type="unfinished">Tự đng mở</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">ScreenPlay sẽ tự bật với Windows sẽ tự thiết lập bàn làm việc cho bạn.</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="98"/>
<source>High priority Autostart</source>
<translation type="unfinished">Tự đong bật ưu tiên cao</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">Tùy chọn này làm ScreenPlay tự bật nhanh hơn các ư.d khác.</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="113"/>
<source>Send anonymous crash reports and statistics</source>
<translation type="unfinished">Gửi báo cáo thống sự cố n danh</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">Giúp chúng tôi làm ScreenPlay nhanh hơn n đnh hơn. Mọi dữ liệu thu thập đưc n danh chỉ dùng cho mục đích lập trình!</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="125"/>
<source>Set save location</source>
<translation type="unfinished">Đt chỗ lưu</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="127"/>
<source>Set location</source>
<translation type="unfinished">Đt</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">Quan trọng: Thay đi thư mục lưu ko tác dụng với thư mục download của Workshop. ScreenPlay chỉ hỗ trợ 1 nội dung 1 thư mục!</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="162"/>
<source>Language</source>
<translation type="unfinished">Ngôn ngữ</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="163"/>
<source>Set the ScreenPlay UI Language</source>
<translation type="unfinished">Thay đi ngôn ngữ của ScreenPlay</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="247"/>
<source>Performance</source>
<translation type="unfinished">Hiệu suất</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="267"/>
<source>Pause wallpaper while ingame</source>
<translation type="unfinished">Tạm dừng nh nền khi đang trong game</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="269"/>
<source>To maximise your framerates ingame, you can enable this setting to pause all active wallpapers!</source>
<translation type="unfinished">Đ chơi game mượt hơn, bạn thể bật tùy chọn này đ tạm dừng mọi nh nền đang hoạt đng!</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="282"/>
<source>Default Fill Mode</source>
<translation type="unfinished">Chế đ đ video mặc đnh</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="283"/>
<source>Set this property to define how the video is scaled to fit the target area.</source>
<translation type="unfinished">Đt cái này đ thể biết đưc làm thế nào đ video tỉ lệ vừa với mục tiêu.</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="332"/>
<source>About</source>
<translation type="unfinished">Về ng dụng</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="358"/>
<source>Thank you for using ScreenPlay</source>
<translation type="unfinished">Cảm ơn đã dùng ScreenPlay</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="372"/>
<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">Chào, tôi Elias Steurer hay đưc biết đến Kelteseth tôi người lập trình ư.d ScreenPlay. Cảm ơn bạn đã dùng ng dụng của tôi. Bạn thể theo dõi tôi đ nhận những cập nhật về ScreenPlay tại đây</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="459"/>
<source>Version</source>
<translation type="unfinished">Phiên bản</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="460"/>
<source>ScreenPlay Build Version </source>
<translation type="unfinished">Bản dựng của ScreenPlay </translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="462"/>
<source>Open Changelog</source>
<translation type="unfinished">Mở lịch sử thay đi</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="469"/>
<source>Third Party Software</source>
<translation type="unfinished">Phần mềm của bên thứ ba</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="470"/>
<source>ScreenPlay would not be possible without the work of others. A big thank you to: </source>
<translation type="unfinished">ScreenPlay sẽ ko thể thực hiện đưc nếu không thành quả của người khác. Xin chân thành cảm ơn:[delete this] deleted user bc waifus are great</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="471"/>
<source>Licenses</source>
<translation type="unfinished">Bản quyền</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="493"/>
<location filename="../qml/Settings/Settings.qml" line="495"/>
<source>Debug Messages</source>
<translation type="unfinished">Tin nhắn gỡ lối</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="494"/>
<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">Nếu ScreenPlay của bạn bị lỗi thì đây một cách tốt đ tìm câu trả lời. đây xuất hiện tất cả các bản ghi cảnh báo trong thời gian chạy.</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="510"/>
<source>Data Protection</source>
<translation type="unfinished">Bảo vệ dữ liệuliệu</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="511"/>
<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">Chúng tôi dùng dữ liệu của bạn rất cẩn thận đ cải tiến ScreenPlay. Chúng tôi ko bán hay chia sẻ đ liệu (n danh) với bên thứ 3</translation>
</message>
<message>
<location filename="../qml/Settings/Settings.qml" line="512"/>
<source>Privacy</source>
<translation type="unfinished">Quyền rieng </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">Sao chép chữ vào khay nhớ tạm</translation>
</message>
</context>
<context>
<name>Sidebar</name>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="188"/>
<source>Headline</source>
<translation type="unfinished">Tiêu đ</translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="239"/>
<source>Select a Monitor to display the content</source>
<translation type="unfinished">Chọn 1 cái màn hình đ hiển thị nội dung</translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="263"/>
<source>Set Volume</source>
<translation type="unfinished">Chỉnh âm lượng</translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="273"/>
<source>Fill Mode</source>
<translation type="unfinished">Chế đ tỉ lệ video</translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="311"/>
<source>Set wallpaper</source>
<translation type="unfinished">Dùng nh nền</translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="415"/>
<source>Set Wallpaper</source>
<translation type="unfinished">Dùng nh nền</translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="466"/>
<source>Create Widget</source>
<translation type="unfinished">Tạo tiện ích</translation>
</message>
<message>
<location filename="../qml/Installed/Sidebar.qml" line="487"/>
<location filename="../qml/Installed/Sidebar.qml" line="514"/>
<source>Create Wallpaper</source>
<translation type="unfinished">Tạo nh nền</translation>
</message>
</context>
<context>
<name>TagSelector</name>
<message>
<location filename="../qml/Common/TagSelector.qml" line="11"/>
<source>Save</source>
<translation type="unfinished">Lưu</translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="14"/>
<source>Add tag</source>
<translation type="unfinished">Thêm từ khóa</translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="107"/>
<source>Cancel</source>
<translation type="unfinished">Hủy</translation>
</message>
<message>
<location filename="../qml/Common/TagSelector.qml" line="125"/>
<source>Add Tag</source>
<translation type="unfinished">Thêm từ khóa</translation>
</message>
</context>
<context>
<name>XMLNewsfeed</name>
<message>
<location filename="../qml/Community/XMLNewsfeed.qml" line="58"/>
<source>News &amp; Patchnotes</source>
<translation type="unfinished">Tin ghi chú của bản </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">ScreenPlay - Bấm đúp chuột đ thay đi cài đt.</translation>
</message>
<message>
<location filename="../main.qml" line="134"/>
<source>Open ScreenPlay</source>
<translation type="unfinished">Mở ScreenPlay</translation>
</message>
<message>
<location filename="../main.qml" line="142"/>
<location filename="../main.qml" line="146"/>
<source>Mute all</source>
<translation type="unfinished">Tắt tiếng tất cả</translation>
</message>
<message>
<location filename="../main.qml" line="150"/>
<source>Unmute all</source>
<translation type="unfinished">Bặt tiếng tất cả</translation>
</message>
<message>
<location filename="../main.qml" line="158"/>
<location filename="../main.qml" line="162"/>
<source>Pause all</source>
<translation type="unfinished">Tạm dừng tất cả</translation>
</message>
<message>
<location filename="../main.qml" line="166"/>
<source>Play all</source>
<translation type="unfinished">Chạy tất cả</translation>
</message>
<message>
<location filename="../main.qml" line="172"/>
<source>Quit</source>
<translation type="unfinished">Thoát</translation>
</message>
</context>
</TS>

View File

@ -121,7 +121,7 @@ Item {
onVisualsPausedChanged:{
if(window.checkWallpaperVisible){
webView.visible = visualsPaused
webView.visible = !visualsPaused
}
}

View File

@ -313,9 +313,9 @@ void WinWindow::checkForFullScreenWindow()
if ((dwStyle & WS_MAXIMIZE) != 0) {
// do stuff
setVisualsPaused(false);
} else {
setVisualsPaused(true);
} else {
setVisualsPaused(false);
}
return;
@ -330,22 +330,24 @@ void WinWindow::checkForFullScreenWindow()
if (hFoundWnd != nullptr) {
DWORD dwFlags = 0;
HMONITOR monitor = MonitorFromWindow(hFoundWnd, dwFlags);
HMONITOR wallpaper = MonitorFromWindow(m_windowHandle, dwFlags);
int monitorIndex = GetMonitorIndex(monitor);
// qDebug() << "Window found " << printWindowNameByhWnd(hFoundWnd) << monitorIndex << activeScreensList().at(0);
int wallpaperIndex = GetMonitorIndex(wallpaper);
// qDebug() << "Window found " << printWindowNameByhWnd(hFoundWnd) << monitorIndex << activeScreensList().at(0) << wallpaperIndex;
// We do not support autopause for multi monitor wallpaper
if (activeScreensList().length() == 1) {
// If the window that has WS_MAXIMIZE is at the same monitor as this wallpaper
if (monitorIndex == activeScreensList().at(0)) {
// qDebug() << "monitorIndex" << monitorIndex;
setVisualsPaused(false);
} else {
if (monitorIndex == wallpaperIndex) {
//qDebug() << "monitorIndex" << monitorIndex;
setVisualsPaused(true);
} else {
setVisualsPaused(false);
}
}
} else {
setVisualsPaused(true);
setVisualsPaused(false);
}
}
}