Compare commits

..
64 Commits
Author SHA1 Message Date
Cameron Gutman 547b8abc56 Prepare for v3.1.2 release 2021-05-03 17:38:14 -05:00
Cameron Gutman 086f6de867 Work around broken package repositories in AppVeyor 2021-05-02 14:49:07 -05:00
Cameron Gutman 0f93091848 Update SDL_GameControllerDB 2021-05-02 10:56:50 -05:00
Cameron Gutman ac19f62ed9 Never display placeholder text for an app collector game
Fixes #567
2021-05-02 10:39:25 -05:00
Cameron Gutman 8fcef63890 Don't waste time performing extra decoder initializations for EGL when it's not supported 2021-04-30 20:52:09 -05:00
Cameron Gutman 34cd2c1afa Run lupdate-pro and lrelease-pro 2021-04-30 20:09:15 -05:00
Cameron Gutman 5d1a19d49c Merge remote-tracking branch 'origin/weblate' 2021-04-30 20:07:59 -05:00
Cameron Gutman 2fbb320539 Refuse to stream if Moonlight is known incompatible with the host GFE version 2021-04-30 20:05:49 -05:00
Cameron Gutman b50e5ed7e6 Fix keyboard grab on X11
Fixes #584
2021-04-30 18:17:15 -05:00
Cameron Gutman 26c82ca72c Don't enable vsync on test decoders 2021-04-30 18:12:56 -05:00
Cameron Gutman f8a8a431a8 Revert warn_off removal
There are still a bunch of unused parameter warnings with GCC/Clang
2021-04-29 21:22:59 -05:00
Cameron Gutman fd27867195 Update moonlight-common-c and remove warn_off config option 2021-04-29 18:05:40 -05:00
Cameron Gutman 5e2a627795 Update moonlight-common-c with RTSP handshake retry logic 2021-04-28 17:38:59 -05:00
Cameron Gutman e081401c2d Update moonlight-common-c for multi-FEC support and audio latency fix 2021-04-26 22:51:46 -05:00
Cameron Gutman e62a268aac Avoid audio encryption on Steam Link for performance reasons 2021-04-23 19:49:03 -05:00
Cameron Gutman 140a9e5191 Enable audio stream encryption 2021-04-23 18:55:10 -05:00
Cameron Gutman 51b5f8046f Disable HTTP/2 on host PC connections for GFE 3.22 2021-04-19 18:41:01 -05:00
Cameron Gutman 91b965d1aa Update moonlight-common-c 2021-04-18 19:34:12 -05:00
Cameron Gutman f8faccee59 Remove qt5-devel which doesn't exist in Fedora 34 2021-04-17 11:11:37 -05:00
shower 6ac46a36a7 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (184 of 184 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/zh_Hans/
2021-04-17 13:27:02 +02:00
Héctor 27572ba4bc Translated using Weblate (Spanish)
Currently translated at 16.3% (30 of 184 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/es/
2021-04-15 22:27:01 +02:00
Cameron Gutman 21be832161 Prepare for v3.1.1 release 2021-04-09 21:07:05 -05:00
Cameron Gutman 5769632793 Update moonlight-common-c for initial GFE 3.22 compatibility 2021-04-09 20:18:47 -05:00
Cameron Gutman 9efd959ed8 Merge branch 'weblate' 2021-04-09 20:17:39 -05:00
Cameron Gutman 5c72afe17e Run lupdate-pro and lrelease-pro 2021-04-04 20:45:57 -05:00
a dc24319333 Translated using Weblate (Russian)
Currently translated at 100.0% (184 of 184 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/ru/
2021-04-05 03:42:34 +02:00
Jorys Paulin 1acbdf94aa Translated using Weblate (French)
Currently translated at 100.0% (184 of 184 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/fr/
2021-04-05 03:42:33 +02:00
Cameron Gutman 44229dfe51 Update translations
- Add RU and ES to resources.qrc and app.pro
- Rerun lupdate-pro and lrelease-pro
2021-04-04 10:25:06 -05:00
a 13206227d9 Translated using Weblate (Russian)
Currently translated at 100.0% (184 of 184 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/ru/
2021-04-04 17:03:35 +02:00
Cameron Gutman e3e8a57df6 Update to OpenSSL 1.1.1k and FFmpeg 4.3.2 2021-03-31 20:27:33 -05:00
Cameron Gutman 7afff80984 Update moonlight-common-c to pick up AMF HEVC parsing fix 2021-03-31 20:07:45 -05:00
Cameron Gutman 500522418e Fix AppImage build 2021-03-28 16:07:20 -05:00
a 5ccac5a5c3 Translated using Weblate (Russian)
Currently translated at 45.1% (83 of 184 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/ru/
2021-03-28 14:29:40 +02:00
Héctor 69822f4401 Translated using Weblate (Spanish)
Currently translated at 11.4% (21 of 184 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/es/
2021-03-28 14:29:39 +02:00
reloxx13 f290cfbd35 Translated using Weblate (German)
Currently translated at 100.0% (184 of 184 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/de/
2021-03-28 14:29:39 +02:00
Cameron Gutman fae30f59ce Add attribution for Cloudsmith 2021-03-27 12:40:51 -05:00
a a15f303c0a Added translation using Weblate (Russian) 2021-03-26 05:05:09 +01:00
Cameron Gutman 5e85038d78 Update AppImage to libva 2.11 2021-03-25 22:17:51 -05:00
Héctor 4e7b35c54e Added translation using Weblate (Spanish) 2021-03-25 09:04:18 +01:00
Cameron Gutman 48dde310ae Add Norwegian Bokmål to the build 2021-03-24 20:40:22 -05:00
Cameron Gutman 6b041e7657 Run lrelease-pro 2021-03-24 20:39:52 -05:00
Cameron Gutman 69576ee1e1 Run lupdate-pro 2021-03-24 20:39:39 -05:00
Cameron Gutman bd3105f62e Merge remote-tracking branch 'origin/weblate' 2021-03-24 20:28:24 -05:00
Cameron Gutman 02e3f0e71b Add missing declaration 2021-03-22 23:32:00 -05:00
Cameron Gutman 74bf981f3d Ensure hwframe read-back works in SDL renderer 2021-03-22 23:15:14 -05:00
Cameron Gutman 32f0678692 Only pass modifiers array if DRM_MODE_FB_MODIFIERS is set 2021-03-22 22:52:06 -05:00
Cameron Gutman e74753bec1 Allow fallback from EGL to direct on EGLImage export failure 2021-03-22 22:51:29 -05:00
Cameron Gutman 4a8c9ad17f Add support for 4-plane frames 2021-03-22 00:46:04 -05:00
Cameron Gutman 0c6c882f50 Fix attribute buffer overflow for fully planar YUV formats 2021-03-22 00:14:06 -05:00
Cameron Gutman 579f25c1ba Add missing EGL_DMA_BUF_PLANE2 definitions 2021-03-22 00:02:03 -05:00
Cameron Gutman d5eb5c8816 Fix build with EGL 1.4 headers 2021-03-21 23:59:35 -05:00
Cameron Gutman 26d04b5f9c Render DRM-PRIME frames as opaque images
We can't always assume they are NV12. Even if they _are_ NV12,
they may have DRM format modifiers that are incompatible with
simply assuming linear Y and UV buffers (such as tiling).
2021-03-21 23:23:12 -05:00
Cameron Gutman a0b9684504 Continue refactoring for non-NV12 support in EGLRenderer 2021-03-21 21:43:57 -05:00
Cameron Gutman 402b6d1f0c Begin refactoring for non-NV12 support in EGLRenderer 2021-03-21 19:20:52 -05:00
Cameron Gutman e87a5fa354 Pass DRM format modifiers to FB creation 2021-03-21 17:54:10 -05:00
Allan Nordhøy 63574f643e Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.1% (129 of 184 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/nb_NO/
2021-03-21 10:36:54 +01:00
Cameron Gutman 1d6b1020c3 Translated using Weblate (French)
Currently translated at 73.9% (136 of 184 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/fr/
2021-03-21 06:29:36 +01:00
Allan Nordhøy 96337a3230 Translated using Weblate (Norwegian Bokmål)
Currently translated at 16.3% (30 of 184 strings)

Translation: moonlight/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/nb_NO/
2021-03-21 02:33:56 +01:00
reloxx13 950c59d8b4 Translated using Weblate (German)
Currently translated at 100.0% (184 of 184 strings)

Translation: moonlight/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/de/
2021-03-21 02:33:56 +01:00
Allan Nordhøy 9cfd095281 Added translation using Weblate (Norwegian Bokmål) 2021-03-21 02:33:56 +01:00
Anonymous 996e049863 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.1% (177 of 184 strings)

Translation: moonlight/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/zh_Hans/
2021-03-21 02:33:56 +01:00
Anonymous 6e42817c3e Translated using Weblate (French)
Currently translated at 74.4% (137 of 184 strings)

Translation: moonlight/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/fr/
2021-03-21 02:33:56 +01:00
Cameron Gutman 7758344a57 Fix Weblate badge 2021-03-20 18:12:04 -05:00
Cameron Gutman b5df566b6b Add Weblate links to readme
Closes #539
2021-03-20 18:11:15 -05:00
53 changed files with 4061 additions and 487 deletions
+9 -2
View File
@@ -4,10 +4,11 @@
Moonlight also has mobile versions for [Android](https://github.com/moonlight-stream/moonlight-android) and [iOS](https://github.com/moonlight-stream/moonlight-ios).
You can follow development on our [Discord server](https://moonlight-stream.org/discord).
You can follow development on our [Discord server](https://moonlight-stream.org/discord) and help translate Moonlight into your language on [Weblate](https://hosted.weblate.org/projects/moonlight/moonlight-qt/).
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/glj5cxqwy2w3bglv/branch/master?svg=true)](https://ci.appveyor.com/project/cgutman/moonlight-qt/branch/master)
[![Downloads](https://img.shields.io/github/downloads/moonlight-stream/moonlight-qt/total)](https://github.com/moonlight-stream/moonlight-qt/releases)
[![Translation Status](https://hosted.weblate.org/widgets/moonlight/-/moonlight-qt/svg-badge.svg)](https://hosted.weblate.org/projects/moonlight/moonlight-qt/)
## Features
- Hardware accelerated video decoding on Windows, Mac, and Linux
@@ -28,6 +29,12 @@ You can follow development on our [Discord server](https://moonlight-stream.org/
- [Raspberry Pi 4](https://github.com/moonlight-stream/moonlight-docs/wiki/Installing-Moonlight-Qt-on-Raspberry-Pi-4)
- [NVIDIA Jetson and Nintendo Switch (Ubuntu L4T)](https://github.com/moonlight-stream/moonlight-docs/wiki/Installing-Moonlight-Qt-on-Linux4Tegra-(L4T)-Ubuntu)
#### Special Thanks
[![Hosted By: Cloudsmith](https://img.shields.io/badge/OSS%20hosting%20by-cloudsmith-blue?logo=cloudsmith&style=flat-square)](https://cloudsmith.com)
Hosting for Moonlight's Raspberry Pi and L4T package repositories is graciously provided for free by [Cloudsmith](https://cloudsmith.com).
## Building
### Windows Build Requirements
@@ -49,7 +56,7 @@ You can follow development on our [Discord server](https://moonlight-stream.org/
* GCC or Clang
* Install the required packages:
* Debian/Ubuntu: `libegl1-mesa-dev libgl1-mesa-dev libopus-dev libqt5svg5-dev libsdl2-dev libsdl2-ttf-dev libssl-dev libavcodec-dev libva-dev libvdpau-dev libxkbcommon-dev qt5-default qt5-qmake qtbase5-dev qtdeclarative5-dev qtquickcontrols2-5-dev wayland-protocols qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-window2 qml-module-qtquick2`
* RedHat/Fedora: `openssl-devel qt5-devel SDL2-devel ffmpeg-devel qt5-qtquickcontrols2-devel libva-devel libvdpau-devel opus-devel pulseaudio-libs-devel alsa-lib-devel SDL2_ttf-devel`
* RedHat/Fedora: `openssl-devel SDL2-devel SDL2_ttf-devel ffmpeg-devel qt5-qtsvg-devel qt5-qtquickcontrols2-devel libva-devel libvdpau-devel opus-devel pulseaudio-libs-devel alsa-lib-devel`
* FFmpeg 4.0+ is required to build. If your distro doesn't package FFmpeg 4.0 or later, you can build and install it from source on https://ffmpeg.org/
### Steam Link Build Requirements
+6 -1
View File
@@ -131,6 +131,7 @@ SOURCES += \
cli/commandlineparser.cpp \
cli/quitstream.cpp \
cli/startstream.cpp \
settings/compatfetcher.cpp \
settings/mappingfetcher.cpp \
settings/streamingpreferences.cpp \
streaming/input/abstouch.cpp \
@@ -156,6 +157,7 @@ SOURCES += \
HEADERS += \
backend/nvapp.h \
settings/compatfetcher.h \
settings/mappingfetcher.h \
utils.h \
backend/computerseeker.h \
@@ -327,7 +329,10 @@ RESOURCES += \
TRANSLATIONS += \
languages/qml_zh_cn.ts \
languages/qml_de.ts \
languages/qml_fr.ts
languages/qml_fr.ts \
languages/qml_nb_NO.ts \
languages/qml_ru.ts \
languages/qml_es.ts
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
+5 -1
View File
@@ -146,7 +146,8 @@ private:
ComputerManager::ComputerManager(QObject *parent)
: QObject(parent),
m_PollingRef(0),
m_MdnsBrowser(nullptr)
m_MdnsBrowser(nullptr),
m_CompatFetcher(nullptr)
{
QSettings settings;
@@ -159,6 +160,9 @@ ComputerManager::ComputerManager(QObject *parent)
}
settings.endArray();
// Fetch latest compatibility data asynchronously
m_CompatFetcher.start();
// To quit in a timely manner, we must block additional requests
// after we receive the aboutToQuit() signal. This is neccessary
// because NvHTTP uses aboutToQuit() to abort requests in progres
+2
View File
@@ -2,6 +2,7 @@
#include "nvcomputer.h"
#include "nvpairingmanager.h"
#include "settings/compatfetcher.h"
#include <qmdnsengine/server.h>
#include <qmdnsengine/cache.h>
@@ -214,4 +215,5 @@ private:
QMdnsEngine::Browser* m_MdnsBrowser;
QMdnsEngine::Cache m_MdnsCache;
QVector<MdnsPendingComputer*> m_PendingResolution;
CompatFetcher m_CompatFetcher;
};
+4
View File
@@ -1,5 +1,6 @@
#include "nvcomputer.h"
#include "nvapp.h"
#include "settings/compatfetcher.h"
#include <QUdpSocket>
#include <QHostInfo>
@@ -50,6 +51,7 @@ NvComputer::NvComputer(QSettings& settings)
this->serverCodecModeSupport = 0;
this->pendingQuit = false;
this->gpuModel = nullptr;
this->isSupportedServerVersion = true;
}
void NvComputer::serialize(QSettings& settings) const
@@ -143,6 +145,7 @@ NvComputer::NvComputer(QString address, QString serverInfo, QSslCertificate serv
this->activeAddress = address;
this->state = NvComputer::CS_ONLINE;
this->pendingQuit = false;
this->isSupportedServerVersion = CompatFetcher::isGfeVersionSupported(this->gfeVersion);
}
bool NvComputer::wake()
@@ -408,6 +411,7 @@ bool NvComputer::update(NvComputer& that)
ASSIGN_IF_CHANGED(state);
ASSIGN_IF_CHANGED(gfeVersion);
ASSIGN_IF_CHANGED(appVersion);
ASSIGN_IF_CHANGED(isSupportedServerVersion);
ASSIGN_IF_CHANGED(maxLumaPixelsHEVC);
ASSIGN_IF_CHANGED(gpuModel);
ASSIGN_IF_CHANGED_AND_NONNULL(serverCert);
+1
View File
@@ -65,6 +65,7 @@ public:
int maxLumaPixelsHEVC;
int serverCodecModeSupport;
QString gpuModel;
bool isSupportedServerVersion;
// Persisted traits
QString localAddress;
+5
View File
@@ -451,6 +451,11 @@ NvHTTP::openConnection(QUrl baseUrl,
// Add our client certificate
request.setSslConfiguration(IdentityManager::get()->getSslConfig());
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
// Disable HTTP/2 (GFE 3.22 doesn't like it) and Qt 6 enables it by default
request.setAttribute(QNetworkRequest::Http2AllowedAttribute, false);
#endif
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) && QT_VERSION < QT_VERSION_CHECK(5, 15, 1) && !defined(QT_NO_BEARERMANAGEMENT)
// HACK: Set network accessibility to work around QTBUG-80947 (introduced in Qt 5.14.0 and fixed in Qt 5.15.1)
QT_WARNING_PUSH
@@ -36,6 +36,29 @@
</screenshots>
<releases>
<release version="3.1.2" date="2021-05-03">
<description>
<p>Changes:</p>
<ul>
<li>Improved connection reliability and performance with GeForce Experience 3.22</li>
<li>Added support for audio encryption with GeForce Experience 3.22</li>
<li>Added compatibility update checks for future versions of GeForce Experience</li>
<li>Fixed keyboard capture on X11</li>
<li>Updated community-contributed translations from Weblate</li>
</ul>
</description>
</release>
<release version="3.1.1" date="2021-04-09">
<description>
<p>Changes:</p>
<ul>
<li>Added support for streaming from GeForce Experience 3.22</li>
<li>Added support for AMF-encoded HEVC streams from servers like Sunshine and OpenStream</li>
<li>Added new community-contributed translations from Weblate</li>
<li>Fixed KMSDRM rendering with buffer modifiers on embedded devices</li>
</ul>
</description>
</release>
<release version="3.1.0" date="2021-03-14">
<description>
<p>New features:</p>
+8 -3
View File
@@ -88,9 +88,14 @@ CenteredGridView {
source: model.boxart
onSourceSizeChanged: {
if ((sourceSize.width == 130 && sourceSize.height == 180) || // GFE 2.0 placeholder image
(sourceSize.width == 628 && sourceSize.height == 888) || // GFE 3.0 placeholder image
(sourceSize.width == 200 && sourceSize.height == 266)) // Our no_app_image.png
// Nearly all of Nvidia's official box art does not match the dimensions of placeholder
// images, however the one known exeception is Overcooked. Therefore, we only execute
// the image size checks if this is not an app collector game. We know the officially
// supported games all have box art, so this check is not required.
if (!model.isAppCollectorGame &&
((sourceSize.width == 130 && sourceSize.height == 180) || // GFE 2.0 placeholder image
(sourceSize.width == 628 && sourceSize.height == 888) || // GFE 3.0 placeholder image
(sourceSize.width == 200 && sourceSize.height == 266))) // Our no_app_image.png
{
isPlaceholder = true
}
+6 -1
View File
@@ -220,7 +220,12 @@ CenteredGridView {
onClicked: {
if (model.online) {
if (model.paired) {
if (!model.serverSupported) {
errorDialog.text = qsTr("The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.").arg(model.name)
errorDialog.helpText = ""
errorDialog.open()
}
else if (model.paired) {
// go to game view
var component = Qt.createComponent("AppView.qml")
var appView = component.createObject(stackView, {"computerIndex": index, "objectName": model.name})
+13
View File
@@ -781,6 +781,19 @@ Flickable {
text: "简体中文" //Simplified Chinese
val: StreamingPreferences.LANG_ZH_CN
}
ListElement {
text: "Norwegian Bokmål"
val: StreamingPreferences.LANG_NB_NO
}
ListElement {
text: "русский" // Russian
val: StreamingPreferences.LANG_RU
}
// Don't list Spanish until it is more complete
/*ListElement {
text: "Español" // Spanish
val: StreamingPreferences.LANG_ES
}*/
}
// ::onActivated must be used, as it only listens for when the index is changed by a human
onActivated : {
+3
View File
@@ -91,6 +91,8 @@ QVariant AppModel::data(const QModelIndex &index, int role) const
return app.id;
case DirectLaunchRole:
return app.directLaunch;
case AppCollectorGameRole:
return app.isAppCollectorGame;
default:
return QVariant();
}
@@ -106,6 +108,7 @@ QHash<int, QByteArray> AppModel::roleNames() const
names[HiddenRole] = "hidden";
names[AppIdRole] = "appid";
names[DirectLaunchRole] = "directLaunch";
names[AppCollectorGameRole] = "appCollectorGame";
return names;
}
+2 -1
View File
@@ -17,7 +17,8 @@ class AppModel : public QAbstractListModel
BoxArtRole,
HiddenRole,
AppIdRole,
DirectLaunchRole
DirectLaunchRole,
AppCollectorGameRole,
};
public:
+3
View File
@@ -42,6 +42,8 @@ QVariant ComputerModel::data(const QModelIndex& index, int role) const
return !computer->macAddress.isEmpty();
case StatusUnknownRole:
return computer->state == NvComputer::CS_UNKNOWN;
case ServerSupportedRole:
return computer->isSupportedServerVersion;
default:
return QVariant();
}
@@ -68,6 +70,7 @@ QHash<int, QByteArray> ComputerModel::roleNames() const
names[BusyRole] = "busy";
names[WakeableRole] = "wakeable";
names[StatusUnknownRole] = "statusUnknown";
names[ServerSupportedRole] = "serverSupported";
return names;
}
+2 -1
View File
@@ -14,7 +14,8 @@ class ComputerModel : public QAbstractListModel
PairedRole,
BusyRole,
WakeableRole,
StatusUnknownRole
StatusUnknownRole,
ServerSupportedRole
};
public:
Binary file not shown.
+128 -118
View File
@@ -113,7 +113,7 @@
<message>
<location filename="../gui/PcView.qml" line="70"/>
<source>This PC&apos;s Internet connection is blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation>Die Internetverbindung dieses Hosts blockiert Moonlight. Solange eine Verbindung mit diesem Netzwerk besteht, wird das streamen übers Internet möglicherweise nicht funktionieren.</translation>
<translation>Die Internetverbindung dieses Hosts blockiert Moonlight. Solange eine Verbindung mit diesem Netzwerk besteht, wird das Streamen übers Internet möglicherweise nicht funktionieren.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="73"/>
@@ -140,7 +140,7 @@
<message>
<location filename="../gui/PcView.qml" line="187"/>
<source>Wake PC</source>
<translation>Host aufwachen</translation>
<translation>Host aufwecken</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="193"/>
@@ -158,52 +158,57 @@
<translation>Host entfernen</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="242"/>
<location filename="../gui/PcView.qml" line="224"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="247"/>
<source>You cannot pair while a previous session is still running on the host PC. Quit any running games or reboot the host PC, then try pairing again.</source>
<translation>Solange eine vorherige Session auf dem Host läuft, kann du nicht Pairen. Beende alle laufenden Apps oder state den Host neu. Dann probiere das pairen nochmal.</translation>
<translation>Solange eine vorherige Session auf dem Host läuft, kannst du nicht koppeln. Beende alle laufenden Apps oder starte den Host neu. Dann probiere das Koppeln erneut.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="297"/>
<location filename="../gui/PcView.qml" line="302"/>
<source>Please enter %1 on your GameStream PC. This dialog will close when pairing is completed.</source>
<translation>Bitte gebe %1 auf deinem Host ein. Diese Nachricht wird nach dem Pairen automatisch geschlossen.</translation>
<translation>Bitte gebe %1 auf deinem Host ein. Diese Nachricht wird nach dem Koppeln automatisch geschlossen.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="308"/>
<location filename="../gui/PcView.qml" line="313"/>
<source>Are you sure you want to remove this PC?</source>
<translation>Bist du sicher, dass du diesen Host entfernen möchtest?</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="325"/>
<location filename="../gui/PcView.qml" line="330"/>
<source>Moonlight is testing your network connection to determine if NVIDIA GameStream is blocked.</source>
<translation>Moonlight testet nun dein Netzwerk umherauszufinden, ob NVIDIA GameStream blockiert ist.</translation>
<translation>Moonlight testet nun dein Netzwerk um herauszufinden, ob NVIDIA GameStream blockiert ist.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="325"/>
<location filename="../gui/PcView.qml" line="330"/>
<source>This may take a few seconds</source>
<translation>Dies dauert ein paar Sekunden...</translation>
<translation>Dies dauert ein paar Sekunden</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="336"/>
<location filename="../gui/PcView.qml" line="341"/>
<source>This network does not appear to be blocking Moonlight. If you still have trouble connecting, check your PC&apos;s firewall settings.</source>
<translation>Dieses Netzwerk scheint Moonlight nicht zu blocken. Wenn du trotzdem Probleme beim verbinden hast, prüfe die Firewall deines Hosts.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="336"/>
<location filename="../gui/PcView.qml" line="341"/>
<source>If you are trying to stream over the Internet, install the Moonlight Internet Hosting Tool on your gaming PC and run the included Internet Streaming Tester to check your gaming PC&apos;s Internet connection.</source>
<translation>Wenn du veruchst übers Internet zu streamen, installiere das Moonlight Internet Hosting Tool auf deinem Host und starte das dort enthaltene Internet Streaming Tester Tool um deine Hos Internetverbindung zu prüfen.</translation>
<translation>Wenn du versuchst übers Internet zu streamen, installiere das Moonlight Internet Hosting Tool auf deinem Host und starte das dort enthaltene Internet Streaming Tester Tool um deine Host Internetverbindung zu prüfen.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="340"/>
<location filename="../gui/PcView.qml" line="345"/>
<source>Your PC&apos;s current network connection seems to be blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation>Die Internetverbindung dieses Hosts blockiert Moonlight. Solange eine Verbindung mit diesem Netzwerk besteht, wird das streamen übers Internet möglicherweise nicht funktionieren.</translation>
<translation>Die Internetverbindung dieses Hosts blockiert Moonlight. Solange eine Verbindung mit diesem Netzwerk besteht, wird das Streamen übers Internet möglicherweise nicht funktionieren.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="340"/>
<location filename="../gui/PcView.qml" line="345"/>
<source>The following network ports were blocked:</source>
<translation>Die folgenden Netzwerkports sind gesperrt:</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="332"/>
<location filename="../gui/PcView.qml" line="337"/>
<source>The network test could not be performed because none of Moonlight&apos;s connection testing servers were reachable from this PC. Check your Internet connection or try again later.</source>
<translation>Der Netzwerktest von diesem Host konnte nicht ausgeführt werden, da keine Verbindung zu den Testservern von Moonlight aufgebaut werden konnte. Prüfe deine Internetverbindung oder versuche es später nocheinmal.</translation>
</message>
@@ -230,10 +235,10 @@
<message>
<location filename="../gui/PcView.qml" line="177"/>
<source>View All Apps</source>
<translation>Zeieg alle Apps</translation>
<translation>Zeige alle Apps</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="352"/>
<location filename="../gui/PcView.qml" line="357"/>
<source>Enter the new name for this PC:</source>
<translation>Gebe einen neuen Namen für diesen Host ein:</translation>
</message>
@@ -241,7 +246,7 @@
<context>
<name>PendingQuitTask</name>
<message>
<location filename="../backend/computermanager.cpp" line="538"/>
<location filename="../backend/computermanager.cpp" line="542"/>
<source>The running game wasn&apos;t started by this PC. You must quit the game on the host PC manually or use the device that originally started the game.</source>
<translation>Die laufende App wurde von einem anderem PC gestartet. Beende die App auf dem Host manuell oder vom PC welcher die App gestartet hat.</translation>
</message>
@@ -258,7 +263,7 @@
<location filename="../cli/quitstream.cpp" line="88"/>
<location filename="../cli/startstream.cpp" line="89"/>
<source>Computer %1 has not been paired. Please open Moonlight to pair before streaming.</source>
<translation>PC %1 wurde noch nicht gepairt. Bitte öffne Moonlight zum pairen.</translation>
<translation>Host %1 wurde noch nicht gekoppelt. Bitte öffne Moonlight zum koppeln.</translation>
</message>
<message>
<location filename="../cli/quitstream.cpp" line="102"/>
@@ -304,7 +309,7 @@
<message>
<location filename="../streaming/session.cpp" line="100"/>
<source>Something went wrong on your host PC when starting the stream.</source>
<translation>Auf deinem Host ist etwas schiefgelaufen beim starten vom Stream.</translation>
<translation>Auf deinem Host ist etwas beim Starten vom Stream schiefgelaufen.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="101"/>
@@ -322,107 +327,112 @@
<translation>Verbindung getrennt</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="578"/>
<location filename="../streaming/session.cpp" line="592"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="597"/>
<source>Your selection to enable remote desktop mouse mode may cause problems in games.</source>
<translation>Die Auswahl des Remote Desktop Maus Modus kann in Spielen zu Problemen führen.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="583"/>
<location filename="../streaming/session.cpp" line="602"/>
<source>HDR is not supported with software decoding.</source>
<translation>HDR wird nicht von Software decodierung unterstützt.</translation>
<translation>HDR wird nicht von Software Dekodierung unterstützt.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="587"/>
<location filename="../streaming/session.cpp" line="606"/>
<source>Your settings selection to force software decoding may cause poor streaming performance.</source>
<translation>Software decodierung kann zu schlecher streaming Leitung führen.</translation>
<translation>Software Dekodierung kann zu schlecher streaming Leitung führen.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="592"/>
<location filename="../streaming/session.cpp" line="611"/>
<source>Using unsupported FPS options may cause stuttering or lag.</source>
<translation>Nicht unterstütze FPS Optionen kann stottern verursachen.</translation>
<translation>Nicht unterstützte FPS Optionen können stottern verursachen.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="595"/>
<location filename="../streaming/session.cpp" line="614"/>
<source>V-sync will be disabled when streaming at a higher frame rate than the display.</source>
<translation>V-Sync wird deaktiviert wenn mit einer höheren FrameRate als der Display gestreamt wird.</translation>
<translation>V-Sync wird deaktiviert wenn mit einer höheren Framerate als der des Display gestreamt wird.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="612"/>
<location filename="../streaming/session.cpp" line="631"/>
<source>Using software decoding due to your selection to force HEVC without GPU support. This may cause poor streaming performance.</source>
<translation>Da deine Grafikkarte kein HEVC Decodierung unterstützt wird Software decoding benutzt. Die kann zu einer schlechten streaming Leistung führen.</translation>
<translation>Da deine Grafikkarte kein HEVC Decodierung unterstützt wird Software Dekodierung benutzt. Die kann zu einer schlechten streaming Leistung führen.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="615"/>
<location filename="../streaming/session.cpp" line="634"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC decoding.</source>
<translation>Die Grafikkarte deines PC&apos;s unterstützt keine HEVC Decodierung.</translation>
<translation>Die Grafikkarte deines PC&apos;s unterstützt keine HEVC Dekodierung.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="622"/>
<location filename="../streaming/session.cpp" line="641"/>
<source>Your host PC GPU doesn&apos;t support HEVC. A GeForce GTX 900-series (Maxwell) or later GPU is required for HEVC streaming.</source>
<translation>Die Grafikkarte deines Host&apos;s unterstützt kein HEVC. Es wird mindestens eine GeForce GTX 900-Series (Maxwell) oder neuer benötigt.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="639"/>
<location filename="../streaming/session.cpp" line="658"/>
<source>%1 doesn&apos;t support HDR10.</source>
<translation>%1 unterstützt kein HDR10.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="643"/>
<location filename="../streaming/session.cpp" line="662"/>
<source>Your host PC GPU doesn&apos;t support HDR streaming. A GeForce GTX 1000-series (Pascal) or later GPU is required for HDR streaming.</source>
<translation>Die Grafikkarte deines Host&apos;s unterstützt kein HDR. Es wird mindestens eine GeForce GTX 1000-Series (Pascal) oder neuer benötigt.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="652"/>
<location filename="../streaming/session.cpp" line="671"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC Main10 decoding for HDR streaming.</source>
<translation>Die Grafikkarte deines PC&apos;s unterstützt keine HEVC Main10 Decodierung für HDR streaming.</translation>
<translation>Die Grafikkarte deines PC&apos;s unterstützt keine HEVC Main10 Dekodierung für HDR streaming.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="665"/>
<location filename="../streaming/session.cpp" line="684"/>
<source>GeForce Experience 3.0 or higher is required for 4K streaming.</source>
<translation>Für 4K steaming wird mindestens GeForce Experience 3.0 benötigt.</translation>
<translation>Für 4K Streaming wird mindestens GeForce Experience 3.0 benötigt.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="680"/>
<location filename="../streaming/session.cpp" line="699"/>
<source>Your selected surround sound setting is not supported by the current audio device.</source>
<translation>Deine ausgewählte Surround Sound Einstellung wird nicht von dem momentanen Audiogerät untertützt.</translation>
<translation>Deine ausgewählte Surround Sound Einstellung wird von dem momentanen Audiogerät nicht untertützt.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="687"/>
<location filename="../streaming/session.cpp" line="706"/>
<source>Failed to open audio device. Audio will be unavailable during this session.</source>
<translation>Zugriff auf das Audiogerät fehlgeschlagen. Es wird kein Ton für diese Session Verfügbar sein.</translation>
<translation>Zugriff auf das Audiogerät fehlgeschlagen. Es wird kein Ton für diese Session verfügbar sein.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="692"/>
<location filename="../streaming/session.cpp" line="711"/>
<source>An attached gamepad has no mapping and won&apos;t be usable. Visit the Moonlight help to resolve this.</source>
<translation>Ein angeschlossener Controller hat keine Tastenbelegung und ist somit nicht nutzbar. Besuche die Moonlight help um dies zu lösen.</translation>
<translation>Ein angeschlossener Controller hat keine Tastenbelegung und ist somit nicht nutzbar. Besuche die Moonlight Hilfe um dies zu lösen.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="700"/>
<location filename="../streaming/session.cpp" line="719"/>
<source>Your host PC&apos;s GPU doesn&apos;t support streaming video resolutions over 4K.</source>
<translation>Die Grafikkarte deines Host&apos;s unterstüzt keine Videoauflösung übr 4K zum Streamen.</translation>
<translation>Die Grafikkarte deines Host&apos;s unterstüzt keine Videoauflösung über 4K zum Streamen.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="704"/>
<location filename="../streaming/session.cpp" line="723"/>
<source>Video resolutions over 4K are only supported by the HEVC codec.</source>
<translation>Videoauflösungen über 4K sind nur mit dem HEVC Codec Verfügbar.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="718"/>
<location filename="../streaming/session.cpp" line="737"/>
<source>Your selection to force hardware decoding cannot be satisfied due to missing hardware decoding support on this PC&apos;s GPU.</source>
<translation>Erzwungene Hardware Decodierung kann nicht ausgewählt werden, da der PC keine Hardware Decodierung unterstützt.</translation>
<translation>Erzwungene Hardware Dekodierung kann nicht ausgewählt werden, da der PC keine Hardware Decodierung unterstützt.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="721"/>
<location filename="../streaming/session.cpp" line="740"/>
<source>Your codec selection and force hardware decoding setting are not compatible. This PC&apos;s GPU lacks support for decoding your chosen codec.</source>
<translation>Erzwungene Hardware Decodierung ist nicht mit deinem ausgewähltem Codec kompatibel, da die Grafikkarte deines PC&apos;s den ausgewählen Codec nicht unterstützt.</translation>
<translation>Erzwungene Hardware Dekodierung ist nicht mit deinem ausgewähltem Codec kompatibel, da die Grafikkarte deines PC&apos;s den ausgewählen Codec nicht unterstützt.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1022"/>
<location filename="../streaming/session.cpp" line="1041"/>
<source>GeForce Experience returned error: %1</source>
<translation>GeForce Experience hat einen Fehler gemeldet: %1</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1445"/>
<location filename="../streaming/session.cpp" line="1519"/>
<source>Unable to initialize video decoder. Please check your streaming settings and try again.</source>
<translation>Video Decoder konnte nicht initialisiert werden. Bitte prüfe deine Streaming Einstellungen und versuche es erneut.</translation>
</message>
@@ -442,7 +452,7 @@
<message>
<location filename="../gui/SettingsView.qml" line="78"/>
<source>Setting values too high for your PC or network connection may cause lag, stuttering, or errors.</source>
<translation>Zu hohe Werte für deinen PC oder deinem Netzwerk kann Lag oder Fehler verursachen.</translation>
<translation>Zu hohe Werte für deinen PC oder dein Netzwerk können Lags oder Fehler verursachen.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="60"/>
@@ -472,12 +482,12 @@
<message>
<location filename="../gui/SettingsView.qml" line="331"/>
<source>Custom resolutions are not officially supported by GeForce Experience, so it will not set your host display resolution. You will need to set it manually while in game.</source>
<translation>Benutzerdefinierte Auflösungen sind offiziell nicht von GeForce Experience unterstützt, daher wird es deine Host Auflösung nicht setzen. Du musst es manuell setzen während des Streams.</translation>
<translation>Benutzerdefinierte Auflösungen sind offiziell nicht von GeForce Experience unterstützt, daher wird es deine Host Auflösung nicht setzen. Du musst es manuell während des Streams setzen.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="332"/>
<source>Resolutions that are not supported by your client or host PC may cause streaming errors.</source>
<translation>Auflösung die von deinem Host oder Client nicht unterstützt sind, können zu Fehlern beim streamen führen.</translation>
<translation>Auflösung die nicht von deinem Host oder Client unterstützt sind, können zu Fehlern beim Streamen führen.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="338"/>
@@ -504,7 +514,7 @@
<message>
<location filename="../gui/SettingsView.qml" line="501"/>
<source>Lower the bitrate on slower connections. Raise the bitrate to increase image quality.</source>
<translation>Verringere die Bitrate für langsame Verbindungen. Erhöhe sie für eine bessere Videoqualität.</translation>
<translation>Verringere die Bitrate bei einer langsamen Verbindung, Erhöhe sie für eine bessere Videoqualität.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="519"/>
@@ -524,7 +534,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="847"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Fullscreen</source>
<translation>Vollbild</translation>
</message>
@@ -549,7 +559,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="839"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<source>Windowed</source>
<translation>Fenster</translation>
</message>
@@ -596,12 +606,12 @@
<message>
<location filename="../gui/SettingsView.qml" line="693"/>
<source>Mute host PC speakers while streaming</source>
<translation>Schalte die Host Lautsprecher stumm während des streamens</translation>
<translation>Schalte die Host Lautsprecher während des streamens stumm</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="703"/>
<source>You must restart any game currently in progress for this setting to take effect</source>
<translation>Du musst die laufende App neustarten damit diese Einstellung aktiv wird</translation>
<translation>Du musst die laufende App neustarten, damit diese Einstellung aktiv wird</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="709"/>
@@ -629,32 +639,32 @@
<translation>Automatisch</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="792"/>
<location filename="../gui/SettingsView.qml" line="805"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation>Du musst Moonlight neustarten damit diese Einstellung aktiv wird</translation>
<translation>Du musst Moonlight neustarten, damit diese Einstellung aktiv wird</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="806"/>
<location filename="../gui/SettingsView.qml" line="819"/>
<source>GUI display mode</source>
<translation>Anzeige Modus der Oberfläche</translation>
<translation>Anzeigemodus der Oberfläche</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="843"/>
<location filename="../gui/SettingsView.qml" line="856"/>
<source>Maximized</source>
<translation>Maximiert</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="900"/>
<location filename="../gui/SettingsView.qml" line="913"/>
<source>Input Settings</source>
<translation>Eingabe Einstellungen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="922"/>
<location filename="../gui/SettingsView.qml" line="934"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation>Dies ermöglicht eine nahtlose Maussteuerung, ohne den Mauszeiger des PCs zu erfassen. Es ist ideal für die Remote-Desktop-Nutzung, funktioniert aber bei den meisten Spielen nicht.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<location filename="../gui/SettingsView.qml" line="936"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation>HINWEIS: Aufgrund eines Fehlers in GeForce Experience funktioniert diese Option möglicherweise nicht richtig, wenn Ihr Host mehrere Monitore hat.</translation>
</message>
@@ -667,77 +677,77 @@
<translation type="vanished">Dies ermöglicht die Erfassung von systemweiten Tastenkombinationen wie Alt+Tab, die normalerweise vom Client beim Streamen im Vollbildmodus ausgeführt werden würden.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="943"/>
<location filename="../gui/SettingsView.qml" line="955"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation>HINWEIS: Bestimmte Tastenkombinationen wie Strg+Alt+Entf unter Windows können von keiner Anwendung abgefangen werden, auch nicht von Moonlight.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1006"/>
<location filename="../gui/SettingsView.qml" line="1018"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation>Touchscreen als virtuelles Trackpad verwenden</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1023"/>
<location filename="../gui/SettingsView.qml" line="1035"/>
<source>Swap left and right mouse buttons</source>
<translation>Linke und rechte Maustaste vertauschen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<location filename="../gui/SettingsView.qml" line="1047"/>
<source>Reverse mouse scrolling direction</source>
<translation>Scrollrichtung umkehren</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1049"/>
<location filename="../gui/SettingsView.qml" line="1061"/>
<source>Gamepad Settings</source>
<translation>Controller Einstellungen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1059"/>
<location filename="../gui/SettingsView.qml" line="1071"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation>Tausche A/B und X/Y Controller Tasten</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1077"/>
<location filename="../gui/SettingsView.qml" line="1089"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation>Dies ändert das Controller Tastenlayout in ein Nintento Controller Style Layout</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1083"/>
<location filename="../gui/SettingsView.qml" line="1095"/>
<source>Force gamepad #1 always connected</source>
<translation>Erzwinge das Controller #1 immer verbunden ist</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1093"/>
<location filename="../gui/SettingsView.qml" line="1105"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation>Erzwingt, dass ein Controller immer mit dem Host verbunden bleibt, auch wenn keine Gamepads an diesen PC angeschlossen sind.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="923"/>
<location filename="../gui/SettingsView.qml" line="935"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation>Du kannst dies während des streamens umstellen mit Strg+Alt+Shift+M.</translation>
<translation>Du kannst dies während des Streamens umstellen mit Strg+Alt+Shift+M.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1101"/>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation>Aktivieren Sie die Maussteuerung mit Controllern, indem Sie die &apos;Start&apos;-Taste gedrückt halten</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1112"/>
<location filename="../gui/SettingsView.qml" line="1124"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation>Controller-Eingaben ausführen auch wenn Moonlight im Hintergrund ist</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1123"/>
<location filename="../gui/SettingsView.qml" line="1135"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation>Erlaubt es Moonlight Controller-Eingaben an den Stream zu schicken auch wenn es nicht das aktive Fenster ist</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1132"/>
<location filename="../gui/SettingsView.qml" line="1144"/>
<source>Host Settings</source>
<translation>Host Einstellungen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1172"/>
<location filename="../gui/SettingsView.qml" line="1184"/>
<source>Advanced Settings</source>
<translation>Erweiterte Einstellungen</translation>
</message>
@@ -747,118 +757,118 @@
<translation>Audio Einstellungen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="860"/>
<location filename="../gui/SettingsView.qml" line="873"/>
<source>Show connection quality warnings</source>
<translation>Warnung bei Verbindungsproblemen anzeigen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="872"/>
<location filename="../gui/SettingsView.qml" line="885"/>
<source>Discord Rich Presence integration</source>
<translation>Integration von Discord Rich Presence</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="882"/>
<location filename="../gui/SettingsView.qml" line="895"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation>Aktualisiert deinen Discord Status um den Namen der aktuellen App anzuzeigen wenn du steamst.</translation>
<translation>Aktualisiert deinen Discord Status um den Namen der aktuellen App anzuzeigen, wenn du streamst.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1094"/>
<location filename="../gui/SettingsView.qml" line="1106"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation>Aktiviere diese Option nur wenn du ein Spiel streamst, dass die Verbindung von Controllern nach dem Start nicht unterstützt.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="911"/>
<location filename="../gui/SettingsView.qml" line="924"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation>Optimiere die Maus für Remote Desktop statt für Apps</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<location filename="../gui/SettingsView.qml" line="946"/>
<source>Capture system keyboard shortcuts</source>
<translation>Erfasse Systemtastatur Shortcuts</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="942"/>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation>Dies aktiviert das Erfassen von Systemweiten Tastatur Shortcuts wie Alt+Tab, welche nomalerweise auf dem Client ausgeführt werden würden.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="972"/>
<location filename="../gui/SettingsView.qml" line="984"/>
<source>in fullscreen</source>
<translation>im Vollbildmodus</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="976"/>
<location filename="../gui/SettingsView.qml" line="988"/>
<source>always</source>
<translation>immer</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1016"/>
<location filename="../gui/SettingsView.qml" line="1028"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation>Wenn aktiviert, verhält sich der Touchscreen wie ein Trackpad. Wenn deaktiviert, steuert der Touchscreen direkt den Mauszeiger.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1142"/>
<location filename="../gui/SettingsView.qml" line="1154"/>
<source>Optimize game settings for streaming</source>
<translation>Optimiere die Spieleinstellungen für das streamen</translation>
<translation>Optimiere die Spieleinstellungen für das Streamen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1153"/>
<location filename="../gui/SettingsView.qml" line="1165"/>
<source>Quit app on host PC after ending stream</source>
<translation>Schließe die App auf dem Host nach dem beenden des Streams</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1163"/>
<location filename="../gui/SettingsView.qml" line="1175"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation>Dadurch wird die App, dass du streamst, geschlossen, wenn du deinen Stream beendest. Du verlierst dabei alle ungespeicherten Fortschritte!</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1182"/>
<location filename="../gui/SettingsView.qml" line="1194"/>
<source>Video decoder</source>
<translation>Video Decoder</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1207"/>
<location filename="../gui/SettingsView.qml" line="1253"/>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<source>Automatic (Recommended)</source>
<translation>Automatisch (empfohlen)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1211"/>
<location filename="../gui/SettingsView.qml" line="1223"/>
<source>Force software decoding</source>
<translation>Erwzinge Software decoding</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1215"/>
<location filename="../gui/SettingsView.qml" line="1227"/>
<source>Force hardware decoding</source>
<translation>Erzwinge Hardware decoding</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1228"/>
<location filename="../gui/SettingsView.qml" line="1240"/>
<source>Video codec</source>
<translation>Video Codec</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1257"/>
<location filename="../gui/SettingsView.qml" line="1269"/>
<source>H.264</source>
<translation>H.264</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1261"/>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>HEVC (H.265)</source>
<translation>HEVC (H.265)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1278"/>
<location filename="../gui/SettingsView.qml" line="1290"/>
<source>Unlock unsupported FPS options</source>
<translation>Zeige nicht unterstützte FPS Optionen an</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1297"/>
<location filename="../gui/SettingsView.qml" line="1309"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation>Suche automatisch nach Hosts im lokalen Netzwerk (empfohlen)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1322"/>
<location filename="../gui/SettingsView.qml" line="1334"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation>Erkenne automatisch geblockte Verbindungen (empfohlen)</translation>
</message>
@@ -909,7 +919,7 @@
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
<source>Ctrl+Alt+Shift+Q</source>
<translation>Strg + Alt + Shift + Q</translation>
<translation>Strg+Alt+Shift+Q</translation>
</message>
</context>
<context>
@@ -955,7 +965,7 @@
<message>
<location filename="../gui/main.qml" line="381"/>
<source>Gamepad Mapping</source>
<translation>Controller Tastenbelegen</translation>
<translation>Controllertasten belegen</translation>
</message>
<message>
<location filename="../gui/main.qml" line="415"/>
Binary file not shown.
+1021
View File
@@ -0,0 +1,1021 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="es" sourcelanguage="en_GB">
<context>
<name>AppView</name>
<message>
<location filename="../gui/AppView.qml" line="139"/>
<location filename="../gui/AppView.qml" line="293"/>
<source>Resume Game</source>
<translation>Reanudar juego</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="165"/>
<location filename="../gui/AppView.qml" line="298"/>
<source>Quit Game</source>
<translation>Salir del juego</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="293"/>
<source>Launch Game</source>
<translation>Abrir juego</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="306"/>
<source>Direct Launch</source>
<translation>Lanzamiento directo</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="310"/>
<source>Launch this app immediately when the host is selected, bypassing the app selection grid.</source>
<translation>Inicie esta aplicación inmediatamente cuando se seleccione el host, sin pasar por la cuadrícula de selección de aplicaciones.</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="319"/>
<source>Hide Game</source>
<translation>Ocultar juego</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="323"/>
<source>Hide this game from the app grid. To access hidden games, right-click on the host and choose %1.</source>
<translation>Oculta este juego de la cuadrícula de aplicaciones. Para acceder a juegos ocultos, haga clic con el botón derecho en el host y elija % 1.</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="323"/>
<source>View All Apps</source>
<translation>Ver todas las aplicaciones</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="338"/>
<source>Are you sure you want to quit %1? Any unsaved progress will be lost.</source>
<translation type="unfinished">Seguro que quieres salir de %1? Se perderá cualquier progreso no guardado.</translation>
</message>
</context>
<context>
<name>CliQuitStreamSegue</name>
<message>
<location filename="../gui/CliQuitStreamSegue.qml" line="9"/>
<source>Establishing connection to PC...</source>
<translation>Estableciendo conexión con PC ...</translation>
</message>
<message>
<location filename="../gui/CliQuitStreamSegue.qml" line="13"/>
<source>Quitting app...</source>
<translation>Saliendo de la aplicación...</translation>
</message>
</context>
<context>
<name>CliStartStreamSegue</name>
<message>
<location filename="../gui/CliStartStreamSegue.qml" line="9"/>
<source>Establishing connection to PC...</source>
<translation>Estableciendo conexión con PC...</translation>
</message>
<message>
<location filename="../gui/CliStartStreamSegue.qml" line="13"/>
<source>Loading app list...</source>
<translation>Cargando lista de aplicaciones...</translation>
</message>
<message>
<location filename="../gui/CliStartStreamSegue.qml" line="81"/>
<source>Are you sure you want to quit %1? Any unsaved progress will be lost.</source>
<translation>Seguro que quieres salir de %1? Se perderá cualquier progreso no guardado.</translation>
</message>
</context>
<context>
<name>GamepadMapper</name>
<message>
<location filename="../gui/GamepadMapper.qml" line="4"/>
<source>Gamepad Mapping</source>
<translation>Mapeo del mando</translation>
</message>
</context>
<context>
<name>NvHTTP</name>
<message>
<location filename="../backend/nvhttp.cpp" line="327"/>
<source>Missing audio capture device. Reinstalling GeForce Experience should resolve this error.</source>
<translation>Falta el dispositivo de captura de audio. La reinstalación de GeForce Experience debería resolver este error.</translation>
</message>
</context>
<context>
<name>PcView</name>
<message>
<location filename="../gui/PcView.qml" line="20"/>
<source>Computers</source>
<translation>Ordenadores</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="67"/>
<source>Unable to connect to the specified PC.</source>
<translation>No se puede conectar con el PC especificado.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="70"/>
<source>This PC&apos;s Internet connection is blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation>La conexión a Internet de este PC está bloqueando Moonlight. Es posible que la transmisión por Internet no funcione mientras esté conectado a esta red.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="73"/>
<source>Click the Help button for possible solutions.</source>
<translation>Haga clic en el botón de ayuda para encontrar posibles soluciones.</translation>
</message>
<message>
<source>Searching for PCs with NVIDIA GameStream enabled...</source>
<translation type="vanished">Suche nach Hosts mit aktivierten NVIDIA GameStream</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="103"/>
<source>Automatic PC discovery is disabled. Add your PC manually.</source>
<translation>La detección automática de PCs está desactivada. Añada su PC manualmente.</translation>
</message>
<message>
<source>View Apps</source>
<translation type="vanished">Apps anzeigen</translation>
</message>
<message>
<source>View Hidden Apps</source>
<translation type="vanished">Ausgeblendete Apps anzeigen</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="187"/>
<source>Wake PC</source>
<translation>Despertar PC</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="193"/>
<source>Test Network</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="202"/>
<source>Rename PC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="211"/>
<source>Delete PC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="224"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="247"/>
<source>You cannot pair while a previous session is still running on the host PC. Quit any running games or reboot the host PC, then try pairing again.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="302"/>
<source>Please enter %1 on your GameStream PC. This dialog will close when pairing is completed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="313"/>
<source>Are you sure you want to remove this PC?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="330"/>
<source>Moonlight is testing your network connection to determine if NVIDIA GameStream is blocked.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="330"/>
<source>This may take a few seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="341"/>
<source>This network does not appear to be blocking Moonlight. If you still have trouble connecting, check your PC&apos;s firewall settings.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="341"/>
<source>If you are trying to stream over the Internet, install the Moonlight Internet Hosting Tool on your gaming PC and run the included Internet Streaming Tester to check your gaming PC&apos;s Internet connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="345"/>
<source>Your PC&apos;s current network connection seems to be blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="345"/>
<source>The following network ports were blocked:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="337"/>
<source>The network test could not be performed because none of Moonlight&apos;s connection testing servers were reachable from this PC. Check your Internet connection or try again later.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="102"/>
<source>Searching for PCs on your local network with NVIDIA GameStream enabled...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>PC Status: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>Online</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>Offline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="177"/>
<source>View All Apps</source>
<translation type="unfinished">Ver todas las aplicaciones</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="357"/>
<source>Enter the new name for this PC:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PendingQuitTask</name>
<message>
<location filename="../backend/computermanager.cpp" line="542"/>
<source>The running game wasn&apos;t started by this PC. You must quit the game on the host PC manually or use the device that originally started the game.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../cli/quitstream.cpp" line="76"/>
<location filename="../cli/startstream.cpp" line="133"/>
<source>Failed to connect to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../cli/quitstream.cpp" line="88"/>
<location filename="../cli/startstream.cpp" line="89"/>
<source>Computer %1 has not been paired. Please open Moonlight to pair before streaming.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../cli/quitstream.cpp" line="102"/>
<location filename="../cli/startstream.cpp" line="126"/>
<source>Quitting app failed, reason: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../cli/startstream.cpp" line="137"/>
<source>Failed to find application %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QuitSegue</name>
<message>
<location filename="../gui/QuitSegue.qml" line="12"/>
<source>Quitting %1...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Session</name>
<message>
<source>No video received from host. Check the host PC&apos;s firewall and port forwarding rules.</source>
<translation type="vanished">Kein Videosignal vom Host empfangen. Prüfe die Host Firewall und Portweiterleitungsregeln.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="89"/>
<source>No video received from host.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="90"/>
<source>Check your firewall and port forwarding rules for port(s): %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="95"/>
<source>Your network connection isn&apos;t performing well. Reduce your video bitrate setting or try a faster connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="100"/>
<source>Something went wrong on your host PC when starting the stream.</source>
<translation>Algo salió mal en su PC host al iniciar la transmisión.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="101"/>
<source>Make sure you don&apos;t have any DRM-protected content open on your host PC. You can also try restarting your host PC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="102"/>
<source>If the issue persists, try reinstalling your GPU drivers and GeForce Experience.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="107"/>
<source>Connection terminated</source>
<translation>Conexión terminada</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="592"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="597"/>
<source>Your selection to enable remote desktop mouse mode may cause problems in games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="602"/>
<source>HDR is not supported with software decoding.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="606"/>
<source>Your settings selection to force software decoding may cause poor streaming performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="611"/>
<source>Using unsupported FPS options may cause stuttering or lag.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="614"/>
<source>V-sync will be disabled when streaming at a higher frame rate than the display.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="631"/>
<source>Using software decoding due to your selection to force HEVC without GPU support. This may cause poor streaming performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="634"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC decoding.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="641"/>
<source>Your host PC GPU doesn&apos;t support HEVC. A GeForce GTX 900-series (Maxwell) or later GPU is required for HEVC streaming.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="658"/>
<source>%1 doesn&apos;t support HDR10.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="662"/>
<source>Your host PC GPU doesn&apos;t support HDR streaming. A GeForce GTX 1000-series (Pascal) or later GPU is required for HDR streaming.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="671"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC Main10 decoding for HDR streaming.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="684"/>
<source>GeForce Experience 3.0 or higher is required for 4K streaming.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="699"/>
<source>Your selected surround sound setting is not supported by the current audio device.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="706"/>
<source>Failed to open audio device. Audio will be unavailable during this session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="711"/>
<source>An attached gamepad has no mapping and won&apos;t be usable. Visit the Moonlight help to resolve this.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="719"/>
<source>Your host PC&apos;s GPU doesn&apos;t support streaming video resolutions over 4K.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="723"/>
<source>Video resolutions over 4K are only supported by the HEVC codec.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="737"/>
<source>Your selection to force hardware decoding cannot be satisfied due to missing hardware decoding support on this PC&apos;s GPU.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="740"/>
<source>Your codec selection and force hardware decoding setting are not compatible. This PC&apos;s GPU lacks support for decoding your chosen codec.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1041"/>
<source>GeForce Experience returned error: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1519"/>
<source>Unable to initialize video decoder. Please check your streaming settings and try again.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsView</name>
<message>
<location filename="../gui/SettingsView.qml" line="12"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="70"/>
<source>Resolution and FPS</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="78"/>
<source>Setting values too high for your PC or network connection may cause lag, stuttering, or errors.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="60"/>
<source>Basic Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="209"/>
<source>720p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="215"/>
<source>1080p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="221"/>
<source>1440p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="227"/>
<source>4K</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="331"/>
<source>Custom resolutions are not officially supported by GeForce Experience, so it will not set your host display resolution. You will need to set it manually while in game.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="332"/>
<source>Resolutions that are not supported by your client or host PC may cause streaming errors.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="338"/>
<source>Enter a custom resolution:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="406"/>
<location filename="../gui/SettingsView.qml" line="407"/>
<location filename="../gui/SettingsView.qml" line="427"/>
<location filename="../gui/SettingsView.qml" line="430"/>
<source>%1 FPS</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%1 FPS (nicht unterstützt)</source>
<translation type="vanished">%1 FPS (nicht unterstützt)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="493"/>
<source>Video bitrate:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="501"/>
<source>Lower the bitrate on slower connections. Raise the bitrate to increase image quality.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="519"/>
<source>Video bitrate: %1 Mbps</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="527"/>
<source>Display mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="545"/>
<source> (Recommended)</source>
<translatorcomment>Dont put the space in ransaltions</translatorcomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="592"/>
<source>Fullscreen generally provides the best performance, but borderless windowed may work better with features like macOS Spaces, Alt+Tab, screenshot tools, on-screen overlays, etc.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="577"/>
<source>Borderless windowed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="412"/>
<location filename="../gui/SettingsView.qml" line="415"/>
<location filename="../gui/SettingsView.qml" line="424"/>
<location filename="../gui/SettingsView.qml" line="437"/>
<location filename="../gui/SettingsView.qml" line="440"/>
<source>%1 FPS (Unsupported)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<source>Windowed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="599"/>
<source>V-Sync</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="609"/>
<source>Disabling V-Sync allows sub-frame rendering latency, but it can display visible tearing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="616"/>
<source>Frame pacing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="626"/>
<source>Frame pacing reduces micro-stutter by delaying frames that come in too early</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="636"/>
<source>Audio Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="671"/>
<source>Stereo</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="675"/>
<source>5.1 surround sound</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="679"/>
<source>7.1 surround sound</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="693"/>
<source>Mute host PC speakers while streaming</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="703"/>
<source>You must restart any game currently in progress for this setting to take effect</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="709"/>
<source>Mute audio stream when Moonlight is not the active window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="720"/>
<source>Mutes Moonlight&apos;s audio when you Alt+Tab out of the stream or click on a different window.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="729"/>
<source>UI Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="739"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="765"/>
<source>Automatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="805"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="819"/>
<source>GUI display mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="856"/>
<source>Maximized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="913"/>
<source>Input Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="936"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Capture system keyboard shortcuts while streaming in fullscreen</source>
<translation type="vanished">Erfassen von System-Tastaturkürzeln beim Streaming im Vollbildmodus</translation>
</message>
<message>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming in fullscreen.</source>
<translation type="vanished">Dies ermöglicht die Erfassung von systemweiten Tastenkombinationen wie Alt+Tab, die normalerweise vom Client beim Streamen im Vollbildmodus ausgeführt werden würden.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="955"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1018"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<source>Swap left and right mouse buttons</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1047"/>
<source>Reverse mouse scrolling direction</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1061"/>
<source>Gamepad Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1071"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1089"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1095"/>
<source>Force gamepad #1 always connected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1105"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="935"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1124"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1135"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1144"/>
<source>Host Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1184"/>
<source>Advanced Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="646"/>
<source>Audio configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="873"/>
<source>Show connection quality warnings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="885"/>
<source>Discord Rich Presence integration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="895"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1106"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="946"/>
<source>Capture system keyboard shortcuts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="984"/>
<source>in fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="988"/>
<source>always</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1028"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1154"/>
<source>Optimize game settings for streaming</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1165"/>
<source>Quit app on host PC after ending stream</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1175"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1194"/>
<source>Video decoder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<source>Automatic (Recommended)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1223"/>
<source>Force software decoding</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1227"/>
<source>Force hardware decoding</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1240"/>
<source>Video codec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1269"/>
<source>H.264</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>HEVC (H.265)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1290"/>
<source>Unlock unsupported FPS options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1309"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1334"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>StreamSegue</name>
<message>
<location filename="../gui/StreamSegue.qml" line="11"/>
<source>Resuming %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="12"/>
<location filename="../gui/StreamSegue.qml" line="19"/>
<source>Starting %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="25"/>
<source>Starting %1 failed: Error %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="28"/>
<source>Check your firewall and port forwarding rules for port(s): %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="74"/>
<source>This PC&apos;s Internet connection is blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation type="unfinished">La conexión a Internet de este PC está bloqueando Moonlight. Es posible que la transmisión por Internet no funcione mientras esté conectado a esta red.</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="161"/>
<source>Tip:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="161"/>
<source>Press %1 to disconnect your session</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
<source>Start+Select+L1+R1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
<source>Ctrl+Alt+Shift+Q</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>
<message>
<location filename="../gui/main.qml" line="254"/>
<location filename="../gui/main.qml" line="264"/>
<location filename="../gui/main.qml" line="393"/>
<location filename="../gui/main.qml" line="408"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/main.qml" line="255"/>
<source>Version %1</source>
<translation>Versión %1</translation>
</message>
<message>
<location filename="../gui/main.qml" line="271"/>
<source>Join our community on Discord</source>
<translation>Únete a nuestra comunidad en Discord</translation>
</message>
<message>
<location filename="../gui/main.qml" line="283"/>
<source>Computers</source>
<translation>Ordenadores</translation>
</message>
<message>
<location filename="../gui/main.qml" line="290"/>
<source>Add PC manually</source>
<translation>Agregar PC manualmente</translation>
</message>
<message>
<location filename="../gui/main.qml" line="330"/>
<source>Update available for Moonlight: Version %1</source>
<translation>Actualización disponible para Moonlight: versión % 1</translation>
</message>
<message>
<location filename="../gui/main.qml" line="377"/>
<source>Gamepad Mapper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/main.qml" line="381"/>
<source>Gamepad Mapping</source>
<translation type="unfinished">Mapeo del mando</translation>
</message>
<message>
<location filename="../gui/main.qml" line="415"/>
<source>No functioning hardware accelerated H.264 video decoder was detected by Moonlight. Your streaming performance may be severely degraded in this configuration.</source>
<translation>Moonlight no detectó ningún decodificador de vídeo H.264 acelerado por hardware en funcionamiento. Su rendimiento de transmisión puede verse gravemente degradado en esta configuración.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="423"/>
<source>Hardware acceleration doesn&apos;t work on XWayland. Continuing on XWayland may result in poor streaming performance. Try running with QT_QPA_PLATFORM=wayland or switch to X11.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/main.qml" line="432"/>
<source>This version of Moonlight isn&apos;t optimized for your PC. Please download the &apos;%1&apos; version of Moonlight for the best streaming performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/main.qml" line="441"/>
<source>Moonlight detected gamepads without a mapping:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/main.qml" line="354"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/main.qml" line="417"/>
<source>Click the Help button for more information on solving this problem.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/main.qml" line="425"/>
<source>Click the Help button for more information.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/main.qml" line="443"/>
<source>Click the Help button for information on how to map your gamepads.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/main.qml" line="451"/>
<source>Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/main.qml" line="481"/>
<source>Enter the IP address of your GameStream PC:</source>
<translation>Ingrese la dirección IP de su PC GameStream:</translation>
</message>
</context>
</TS>
Binary file not shown.
+150 -140
View File
@@ -23,12 +23,12 @@
<message>
<location filename="../gui/AppView.qml" line="306"/>
<source>Direct Launch</source>
<translation type="unfinished"></translation>
<translation>Lancement direct</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="310"/>
<source>Launch this app immediately when the host is selected, bypassing the app selection grid.</source>
<translation type="unfinished"></translation>
<translation>Lancer cette application immédiatement lorsque l&apos;hôte est sélectionné, en passant la grille d&apos;applications.</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="319"/>
@@ -38,17 +38,17 @@
<message>
<location filename="../gui/AppView.qml" line="323"/>
<source>Hide this game from the app grid. To access hidden games, right-click on the host and choose %1.</source>
<translation type="unfinished"></translation>
<translation>Cacher ce jeu de la grille d&apos;applications. Pour le retrouver plus tard, faites un clic droit sur l&apos;ordinateur et choisissez %1.</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="323"/>
<source>View All Apps</source>
<translation type="unfinished"></translation>
<translation>Voir toutes les applis</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="338"/>
<source>Are you sure you want to quit %1? Any unsaved progress will be lost.</source>
<translation>Vous êtes sûr de vouloir arrêter %1? Tout progrès non enregistré sera perdu.</translation>
<translation>Vous êtes sûr de vouloir arrêter %1&#x202f;? Tout progrès non enregistré sera perdu.</translation>
</message>
</context>
<context>
@@ -79,7 +79,7 @@
<message>
<location filename="../gui/CliStartStreamSegue.qml" line="81"/>
<source>Are you sure you want to quit %1? Any unsaved progress will be lost.</source>
<translation>Vous êtes sûr de vouloir arrêter %1? Tout progrès non enregistré sera perdu.</translation>
<translation>Vous êtes sûr de vouloir arrêter %1&#x202f;? Tout progrès non enregistré sera perdu.</translation>
</message>
</context>
<context>
@@ -158,52 +158,57 @@
<translation>Supprimer le PC</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="242"/>
<location filename="../gui/PcView.qml" line="224"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="247"/>
<source>You cannot pair while a previous session is still running on the host PC. Quit any running games or reboot the host PC, then try pairing again.</source>
<translation>Vous ne pouvez pas effectuer de couplage alors qu&apos;une session précédente est encore en cours sur le PC hôte. Fermez les jeux en cours ou redémarrez le PC hôte, puis essayez à nouveau d&apos;effectuer l&apos;appariement.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="297"/>
<location filename="../gui/PcView.qml" line="302"/>
<source>Please enter %1 on your GameStream PC. This dialog will close when pairing is completed.</source>
<translation>Veuillez saisir %1 sur votre PC GameStream. Cette boîte de dialogue se fermera lorsque l&apos;appariement sera terminé.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="308"/>
<location filename="../gui/PcView.qml" line="313"/>
<source>Are you sure you want to remove this PC?</source>
<translation>Êtes-vous sûr de vouloir supprimer ce PC ?</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="325"/>
<location filename="../gui/PcView.qml" line="330"/>
<source>Moonlight is testing your network connection to determine if NVIDIA GameStream is blocked.</source>
<translation>Moonlight teste votre connexion réseau pour déterminer si NVIDIA GameStream est bloqué.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="325"/>
<location filename="../gui/PcView.qml" line="330"/>
<source>This may take a few seconds</source>
<translation>Cela peut prendre quelques secondes...</translation>
<translation>Cela peut prendre quelques secondes</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="336"/>
<location filename="../gui/PcView.qml" line="341"/>
<source>This network does not appear to be blocking Moonlight. If you still have trouble connecting, check your PC&apos;s firewall settings.</source>
<translation>Ce réseau ne semble pas bloquer Moonlight. Si vous avez toujours des problèmes de connexion, vérifiez les paramètres du pare-feu de votre PC.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="336"/>
<location filename="../gui/PcView.qml" line="341"/>
<source>If you are trying to stream over the Internet, install the Moonlight Internet Hosting Tool on your gaming PC and run the included Internet Streaming Tester to check your gaming PC&apos;s Internet connection.</source>
<translation>Si vous essayez d&apos;utiliser la diffusion en continu sur Internet, installez l&apos;outil d&apos;hébergement Internet Moonlight sur votre PC de jeu et exécutez le testeur de diffusion en continu sur Internet inclus pour vérifier la connexion Internet de votre PC de jeu.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="340"/>
<location filename="../gui/PcView.qml" line="345"/>
<source>Your PC&apos;s current network connection seems to be blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation>La connexion réseau actuelle de votre PC semble bloquer le Moonlight. Il se peut que la diffusion en continu sur Internet ne fonctionne pas lorsque vous êtes connecté à ce réseau.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="340"/>
<location filename="../gui/PcView.qml" line="345"/>
<source>The following network ports were blocked:</source>
<translation>Les ports de réseau suivants ont é bloqués :</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="332"/>
<location filename="../gui/PcView.qml" line="337"/>
<source>The network test could not be performed because none of Moonlight&apos;s connection testing servers were reachable from this PC. Check your Internet connection or try again later.</source>
<translation>Le test de réseau n&apos;a pas pu être effectué car aucun des serveurs de test de connexion de Moonlight n&apos;était accessible depuis ce PC. Vérifiez votre connexion Internet ou réessayez plus tard.</translation>
</message>
@@ -215,25 +220,25 @@
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>PC Status: %1</source>
<translation type="unfinished"></translation>
<translation>Statut du PC&#x202f;: %1</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>Online</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>Offline</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="177"/>
<source>View All Apps</source>
<translation type="unfinished"></translation>
<translation>Voir toutes les applis</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="352"/>
<location filename="../gui/PcView.qml" line="357"/>
<source>Enter the new name for this PC:</source>
<translation>Saisissez le nouveau nom de ce PC :</translation>
</message>
@@ -241,7 +246,7 @@
<context>
<name>PendingQuitTask</name>
<message>
<location filename="../backend/computermanager.cpp" line="538"/>
<location filename="../backend/computermanager.cpp" line="542"/>
<source>The running game wasn&apos;t started by this PC. You must quit the game on the host PC manually or use the device that originally started the game.</source>
<translation>Le jeu en cours dexécution n&apos;a pas é démarré par ce PC. Vous devez fermer le jeu sur le PC hôte manuellement ou utiliser l&apos;appareil qui a démarré le jeu à l&apos;origine.</translation>
</message>
@@ -289,12 +294,12 @@
<message>
<location filename="../streaming/session.cpp" line="89"/>
<source>No video received from host.</source>
<translation type="unfinished"></translation>
<translation>Aucune vidéo reçue de l&apos;hôte.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="90"/>
<source>Check your firewall and port forwarding rules for port(s): %1</source>
<translation type="unfinished"></translation>
<translation>Vérifiez vos réglages de port et de pare-feu pour le(s) port(s) suivant(s) : %1</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="95"/>
@@ -304,17 +309,17 @@
<message>
<location filename="../streaming/session.cpp" line="100"/>
<source>Something went wrong on your host PC when starting the stream.</source>
<translation type="unfinished"></translation>
<translation>Quelque chose s&apos;est mal passé sur votre PC hôte lors du lancement du streaming.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="101"/>
<source>Make sure you don&apos;t have any DRM-protected content open on your host PC. You can also try restarting your host PC.</source>
<translation type="unfinished"></translation>
<translation>Vérifiez que vous n&apos;avez pas de contenu protégé par DRM ouvert sur votre PC hôte. Vous pouvez également essayer de redémarrer le PC hôte.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="102"/>
<source>If the issue persists, try reinstalling your GPU drivers and GeForce Experience.</source>
<translation type="unfinished"></translation>
<translation>Si le problème persiste, essayez de réinstaller vos pilotes GPU et GeForce Experience.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="107"/>
@@ -322,107 +327,112 @@
<translation>Connexion terminée</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="578"/>
<location filename="../streaming/session.cpp" line="592"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="597"/>
<source>Your selection to enable remote desktop mouse mode may cause problems in games.</source>
<translation>Votre sélection pour activer le mode de souris de bureau à distance peut causer des problèmes dans les jeux.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="583"/>
<location filename="../streaming/session.cpp" line="602"/>
<source>HDR is not supported with software decoding.</source>
<translation>Le HDR n&apos;est pas pris en charge par le décodage logiciel.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="587"/>
<location filename="../streaming/session.cpp" line="606"/>
<source>Your settings selection to force software decoding may cause poor streaming performance.</source>
<translation>La sélection de vos paramètres pour forcer le décodage du logiciel peut entraîner de mauvaises performances de streaming.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="592"/>
<location filename="../streaming/session.cpp" line="611"/>
<source>Using unsupported FPS options may cause stuttering or lag.</source>
<translation>L&apos;utilisation d&apos;options de FPS non prises en charge peut entraîner un stuttering ou des lag.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="595"/>
<location filename="../streaming/session.cpp" line="614"/>
<source>V-sync will be disabled when streaming at a higher frame rate than the display.</source>
<translation>La synchronisation vertical sera désactivée lors de la diffusion en continu à une fréquence d&apos;images supérieure à celle de l&apos;affichage.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="612"/>
<location filename="../streaming/session.cpp" line="631"/>
<source>Using software decoding due to your selection to force HEVC without GPU support. This may cause poor streaming performance.</source>
<translation>Utilisation du décodage logiciel à votre sélection pour forcer les HEVC sans support GPU. Cela peut entraîner de mauvaises performances de streaming.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="615"/>
<location filename="../streaming/session.cpp" line="634"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC decoding.</source>
<translation>Le GPU de ce PC ne prend pas en charge le décodage HEVC.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="622"/>
<location filename="../streaming/session.cpp" line="641"/>
<source>Your host PC GPU doesn&apos;t support HEVC. A GeForce GTX 900-series (Maxwell) or later GPU is required for HEVC streaming.</source>
<translation>Le GPU de votre PC hôte ne prend pas en charge les HEVC. Un GPU GeForce GTX série 900 (Maxwell) ou plus récent est nécessaire pour le streaming HEVC.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="639"/>
<location filename="../streaming/session.cpp" line="658"/>
<source>%1 doesn&apos;t support HDR10.</source>
<translation>%1 ne prend pas en charge le HDR10.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="643"/>
<location filename="../streaming/session.cpp" line="662"/>
<source>Your host PC GPU doesn&apos;t support HDR streaming. A GeForce GTX 1000-series (Pascal) or later GPU is required for HDR streaming.</source>
<translation>Le GPU de votre PC hôte ne prend pas en charge le streaming HDR. Un GPU GeForce GTX série 1000 (Pascal) ou plus récent est nécessaire pour la diffusion HDR.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="652"/>
<location filename="../streaming/session.cpp" line="671"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC Main10 decoding for HDR streaming.</source>
<translation>Le GPU de ce PC ne prend pas en charge le décodage HEVC pour le streaming HDR.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="665"/>
<location filename="../streaming/session.cpp" line="684"/>
<source>GeForce Experience 3.0 or higher is required for 4K streaming.</source>
<translation>Une expérience GeForce 3.0 ou supérieure est requise pour le streaming 4K.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="680"/>
<location filename="../streaming/session.cpp" line="699"/>
<source>Your selected surround sound setting is not supported by the current audio device.</source>
<translation>Le réglage du son surround que vous avez sélectionné n&apos;est pas pris en charge par l&apos;appareil audio actuel.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="687"/>
<location filename="../streaming/session.cpp" line="706"/>
<source>Failed to open audio device. Audio will be unavailable during this session.</source>
<translation>Echec de l&apos;ouverture de l&apos;appareil audio. L&apos;audio ne sera pas disponible pendant cette session.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="692"/>
<location filename="../streaming/session.cpp" line="711"/>
<source>An attached gamepad has no mapping and won&apos;t be usable. Visit the Moonlight help to resolve this.</source>
<translation>Une manette de jeun n&apos;a pas était configurée et ne sera pas utilisable. Visitez le Moonlight pour aider à résoudre ce problème.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="700"/>
<location filename="../streaming/session.cpp" line="719"/>
<source>Your host PC&apos;s GPU doesn&apos;t support streaming video resolutions over 4K.</source>
<translation>Le GPU de votre PC hôte ne prend pas en charge les résolutions vidéo en continu supérieures à 4K.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="704"/>
<location filename="../streaming/session.cpp" line="723"/>
<source>Video resolutions over 4K are only supported by the HEVC codec.</source>
<translation>Les résolutions vidéo supérieures à 4K sont uniquement prises en charge par le codec HEVC.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="718"/>
<location filename="../streaming/session.cpp" line="737"/>
<source>Your selection to force hardware decoding cannot be satisfied due to missing hardware decoding support on this PC&apos;s GPU.</source>
<translation>Votre choix pour forcer le décodage matériel ne peut être satisfait en raison de l&apos;absence de support de décodage matériel sur le GPU de ce PC.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="721"/>
<location filename="../streaming/session.cpp" line="740"/>
<source>Your codec selection and force hardware decoding setting are not compatible. This PC&apos;s GPU lacks support for decoding your chosen codec.</source>
<translation>Votre sélection de codecs et le réglage du décodage matériel ne sont pas compatibles. Le GPU de ce PC ne prend pas en charge le décodage du codec que vous avez choisi.</translation>
<translation>Votre sélection de codecs et le réglage du décodage matériel ne sont pas compatibles. Le GPU de ce PC ne prend pas en charge le décodage du codec que vous avez choisi.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1022"/>
<location filename="../streaming/session.cpp" line="1041"/>
<source>GeForce Experience returned error: %1</source>
<translation>GeForce Experience a renvoyé l&apos;erreur : %1</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1445"/>
<location filename="../streaming/session.cpp" line="1519"/>
<source>Unable to initialize video decoder. Please check your streaming settings and try again.</source>
<translation>Impossible d&apos;initialiser le décodeur vidéo. Veuillez vérifier vos paramètres de diffusion en continu et réessayer.</translation>
</message>
@@ -472,17 +482,17 @@
<message>
<location filename="../gui/SettingsView.qml" line="331"/>
<source>Custom resolutions are not officially supported by GeForce Experience, so it will not set your host display resolution. You will need to set it manually while in game.</source>
<translation type="unfinished"></translation>
<translation>Les résolutions personnalisées ne sont pas officiellement prises en charge par GeForce Experience, qui ne pourra donc pas définir la résolution de votre écran hôte. Vous devrez la définir manuellement dans le jeu.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="332"/>
<source>Resolutions that are not supported by your client or host PC may cause streaming errors.</source>
<translation type="unfinished"></translation>
<translation>Les résolutions qui ne sont pas prises en charge par votre client ou votre PC hôte peuvent entraîner des problèmes de diffusion.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="338"/>
<source>Enter a custom resolution:</source>
<translation type="unfinished"></translation>
<translation>Entrez une résolution personnalisée :</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="406"/>
@@ -514,7 +524,7 @@
<message>
<location filename="../gui/SettingsView.qml" line="519"/>
<source>Video bitrate: %1 Mbps</source>
<translation>Bitrate vidéo : %1 Mbps</translation>
<translation>Bitrate vidéo : %1 Mbps</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="527"/>
@@ -528,14 +538,14 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="847"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Fullscreen</source>
<translation type="unfinished"></translation>
<translation>Plein écran</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="592"/>
<source>Fullscreen generally provides the best performance, but borderless windowed may work better with features like macOS Spaces, Alt+Tab, screenshot tools, on-screen overlays, etc.</source>
<translation type="unfinished"></translation>
<translation>Le plein écran offre généralement les meilleures performances, mais le mode fenêtre sans bordure peut mieux fonctionner avec des fonctionnalités comme les espaces sur macOS, Alt+Tab, les outils de capture d&apos;écran, les overlays, etc.</translation>
</message>
<message>
<source>Full-screen</source>
@@ -548,7 +558,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="839"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<source>Windowed</source>
<translation>Fenêtré</translation>
</message>
@@ -599,22 +609,22 @@
<message>
<location filename="../gui/SettingsView.qml" line="693"/>
<source>Mute host PC speakers while streaming</source>
<translation type="unfinished"></translation>
<translation>Couper le son des haut-parleurs du PC hôte pendant la diffusion</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="703"/>
<source>You must restart any game currently in progress for this setting to take effect</source>
<translation type="unfinished"></translation>
<translation>Vous devez redémarrer tout jeu en cours pour que ce paramètre prenne effet</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="709"/>
<source>Mute audio stream when Moonlight is not the active window</source>
<translation type="unfinished"></translation>
<translation>Couper le son du stream quand Moonlight n&apos;est pas au premier plan</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="720"/>
<source>Mutes Moonlight&apos;s audio when you Alt+Tab out of the stream or click on a different window.</source>
<translation type="unfinished"></translation>
<translation>Coupe le son du stream quand vous faites Alt+Tab ou si vous cliquez sur une autre fenêtre.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="729"/>
@@ -624,139 +634,139 @@
<message>
<location filename="../gui/SettingsView.qml" line="739"/>
<source>Language</source>
<translation type="unfinished"></translation>
<translation>Langue</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="765"/>
<source>Automatic</source>
<translation type="unfinished"></translation>
<translation>Automatique</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="792"/>
<location filename="../gui/SettingsView.qml" line="805"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation type="unfinished"></translation>
<translation>Vous devez redémarrer Moonlight pour que ce changement prenne effet</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="806"/>
<location filename="../gui/SettingsView.qml" line="819"/>
<source>GUI display mode</source>
<translation type="unfinished"></translation>
<translation>Mode d&apos;affichage du GUI</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="843"/>
<location filename="../gui/SettingsView.qml" line="856"/>
<source>Maximized</source>
<translation type="unfinished"></translation>
<translation>Maximisé</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="900"/>
<location filename="../gui/SettingsView.qml" line="913"/>
<source>Input Settings</source>
<translation>Paramètres d&apos;entrée</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="922"/>
<location filename="../gui/SettingsView.qml" line="934"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation type="unfinished"></translation>
<translation>Cela permet un contrôle transparent de la souris, sans capturer le curseur du client. Il est idéal pour lutilisation de bureau à distance, mais ne fonctionnera pas dans la plupart des jeux.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<location filename="../gui/SettingsView.qml" line="936"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation type="unfinished"></translation>
<translation>REMARQUE : En raison d&apos;un bogue dans GeForce Experience, cette option peut ne pas fonctionner correctement si votre PC hôte a plusieurs moniteurs.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="943"/>
<location filename="../gui/SettingsView.qml" line="955"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation type="unfinished"></translation>
<translation>REMARQUE : Certains raccourcis clavier comme Ctrl+Alt+Del sur Windows ne peuvent jamais être interceptés, y compris par Moonlight.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="972"/>
<location filename="../gui/SettingsView.qml" line="984"/>
<source>in fullscreen</source>
<translation type="unfinished"></translation>
<translation>en plein écran</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="976"/>
<location filename="../gui/SettingsView.qml" line="988"/>
<source>always</source>
<translation type="unfinished"></translation>
<translation>toujours</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1006"/>
<location filename="../gui/SettingsView.qml" line="1018"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1023"/>
<source>Swap left and right mouse buttons</source>
<translation type="unfinished"></translation>
<translation>Utiliser l&apos;écran tactile comme un trackpad virtuel</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<source>Swap left and right mouse buttons</source>
<translation>Permuter les boutons gauche et droit de la souris</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1047"/>
<source>Reverse mouse scrolling direction</source>
<translation type="unfinished"></translation>
<translation>Inverser le sens de défilement de la souris</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1049"/>
<location filename="../gui/SettingsView.qml" line="1061"/>
<source>Gamepad Settings</source>
<translation type="unfinished"></translation>
<translation>Paramètres de la manette</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1059"/>
<location filename="../gui/SettingsView.qml" line="1071"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation type="unfinished"></translation>
<translation>Inverser les boutons A/B et X/Y de la manette</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1077"/>
<location filename="../gui/SettingsView.qml" line="1089"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation type="unfinished"></translation>
<translation>Permet d&apos;utiliser les boutons comme sur une manette Nintendo</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1083"/>
<location filename="../gui/SettingsView.qml" line="1095"/>
<source>Force gamepad #1 always connected</source>
<translation type="unfinished"></translation>
<translation>Forcer la manette #1 à être toujours connectée</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1093"/>
<location filename="../gui/SettingsView.qml" line="1105"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</translation>
<translation>Force une seule manette de jeu à toujours rester connectée à l&apos;hôte, même si aucune manette de jeu n&apos;est réellement connectée à ce PC.</translation>
</message>
<message>
<source>This enables mouse control without capturing the client&apos;s mouse cursor. It will not work in most games.</source>
<translation type="vanished">Cela permet de contrôler la souris sans avoir à capturer le curseur du client. Cela ne fonctionne pas dans la plupart des jeux.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="923"/>
<location filename="../gui/SettingsView.qml" line="935"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation>Vous pouvez le basculer pendant la diffusion en utilisant Ctrl+Alt+Shift+M.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<location filename="../gui/SettingsView.qml" line="946"/>
<source>Capture system keyboard shortcuts</source>
<translation type="unfinished"></translation>
<translation>Capturer les raccourcis clavier système</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="942"/>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation type="unfinished"></translation>
<translation>Cela permet la capture de raccourcis clavier système comme Alt+Tab qui seraient normalement utilisés par le système dexploitation client.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1101"/>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation type="unfinished"></translation>
<translation>Active le contrôle de la souris par la manette en appuyant sur « Start »</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1112"/>
<location filename="../gui/SettingsView.qml" line="1124"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation type="unfinished"></translation>
<translation>Capturer la manette même lorsque Moonlight est en arrière-plan</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1123"/>
<location filename="../gui/SettingsView.qml" line="1135"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation type="unfinished"></translation>
<translation>Permet à Moonlight de capturer la manette même si Moonlight n&apos;est pas au premier plan</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1132"/>
<location filename="../gui/SettingsView.qml" line="1144"/>
<source>Host Settings</source>
<translation>Paramètres de l&apos;hôte</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1172"/>
<location filename="../gui/SettingsView.qml" line="1184"/>
<source>Advanced Settings</source>
<translation>Paramètres avancés</translation>
</message>
@@ -770,17 +780,17 @@
<translation type="vanished">Maximiser la fenêtre Moonlight au démarrage</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="860"/>
<location filename="../gui/SettingsView.qml" line="873"/>
<source>Show connection quality warnings</source>
<translation>Afficher les avertissements sur la qualité de la connexion</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="872"/>
<location filename="../gui/SettingsView.qml" line="885"/>
<source>Discord Rich Presence integration</source>
<translation>Intégration de la présence Discord Rich</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="882"/>
<location filename="../gui/SettingsView.qml" line="895"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation>Met à jour votre statut Discord pour afficher le nom du jeu que vous diffusez en continu.</translation>
</message>
@@ -789,12 +799,12 @@
<translation type="vanished">Forcé la manette de jeu Force #1 à être toujours présente</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1094"/>
<location filename="../gui/SettingsView.qml" line="1106"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation>N&apos;activez cette option que lorsque vous diffusez en continu un jeu qui ne prend pas en charge la connexion des manettes de jeu après le démarrage.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="911"/>
<location filename="../gui/SettingsView.qml" line="924"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation>Optimiser la souris pour le bureau à distance plutôt que pour les jeux</translation>
</message>
@@ -803,7 +813,7 @@
<translation type="vanished">Utiliser l&apos;écran tactile comme trackpad</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1016"/>
<location filename="../gui/SettingsView.qml" line="1028"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation>Lorsqu&apos;on le vérifie, l&apos;écran tactile agit comme un pavé tactile. Lorsqu&apos;il n&apos;est pas coché, l&apos;écran tactile contrôle directement le pointeur de la souris.</translation>
</message>
@@ -824,7 +834,7 @@
<translation type="vanished">Lorsque la case est cochée, permuter les boutons gauche et droit de la souris</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1142"/>
<location filename="../gui/SettingsView.qml" line="1154"/>
<source>Optimize game settings for streaming</source>
<translation>Optimiser les paramètres du jeu pour la diffusion en continu</translation>
</message>
@@ -833,63 +843,63 @@
<translation type="vanished">Lecture audio sur le PC hôte</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1153"/>
<location filename="../gui/SettingsView.qml" line="1165"/>
<source>Quit app on host PC after ending stream</source>
<translation>Quitter l&apos;application sur le PC hôte après avoir terminé le flux</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1163"/>
<location filename="../gui/SettingsView.qml" line="1175"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation>Cela fermera l&apos;application ou le jeu que vous êtes en train de diffuser lorsque vous aurez terminé votre flux. Vous perdrez tout progrès non sauvegardé !</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1182"/>
<location filename="../gui/SettingsView.qml" line="1194"/>
<source>Video decoder</source>
<translation>Décodeur vidéo</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1207"/>
<location filename="../gui/SettingsView.qml" line="1253"/>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<source>Automatic (Recommended)</source>
<translation>Automatique (recommandé)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1211"/>
<location filename="../gui/SettingsView.qml" line="1223"/>
<source>Force software decoding</source>
<translation>Forcer le décodage des logiciels</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1215"/>
<location filename="../gui/SettingsView.qml" line="1227"/>
<source>Force hardware decoding</source>
<translation>Forcer le décodage du matériel</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1228"/>
<location filename="../gui/SettingsView.qml" line="1240"/>
<source>Video codec</source>
<translation>Codec vidéo</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1257"/>
<location filename="../gui/SettingsView.qml" line="1269"/>
<source>H.264</source>
<translation>H.264</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1261"/>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>HEVC (H.265)</source>
<translation>HEVC (H.265)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1278"/>
<location filename="../gui/SettingsView.qml" line="1290"/>
<source>Unlock unsupported FPS options</source>
<translation>Débloquer les options non supportées du FPS</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1297"/>
<location filename="../gui/SettingsView.qml" line="1309"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation>Trouver automatiquement les PC sur le réseau local (recommandé)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1322"/>
<location filename="../gui/SettingsView.qml" line="1334"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation>Détecter automatiquement les connexions bloquées (recommandé)</translation>
</message>
@@ -899,7 +909,7 @@
<message>
<location filename="../gui/StreamSegue.qml" line="11"/>
<source>Resuming %1...</source>
<translation type="unfinished"></translation>
<translation>Reprise de %1...</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="12"/>
@@ -910,12 +920,12 @@
<message>
<location filename="../gui/StreamSegue.qml" line="25"/>
<source>Starting %1 failed: Error %2</source>
<translation>Démarrage de %1... echec: erreur %2</translation>
<translation>Le démarrage de %1 a échoué : Erreur %2</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="28"/>
<source>Check your firewall and port forwarding rules for port(s): %1</source>
<translation type="unfinished"></translation>
<translation>Vérifiez vos réglages de port et de pare-feu pour le(s) port(s) suivant(s) : %1</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="74"/>
@@ -925,7 +935,7 @@
<message>
<location filename="../gui/StreamSegue.qml" line="161"/>
<source>Tip:</source>
<translation>Aide:</translation>
<translation>Astuce :</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="161"/>
@@ -935,7 +945,7 @@
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
<source>Start+Select+L1+R1</source>
<translation>Start+Select+L1+R1</translation>
<translation>Start + Select + L1 + R1</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
@@ -1001,12 +1011,12 @@
<message>
<location filename="../gui/main.qml" line="432"/>
<source>This version of Moonlight isn&apos;t optimized for your PC. Please download the &apos;%1&apos; version of Moonlight for the best streaming performance.</source>
<translation type="unfinished"></translation>
<translation>Cette version de Moonlight n&apos;est pas optimisée pour votre PC. Téléchargez la version « %1 » pour de meilleures performances.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="441"/>
<source>Moonlight detected gamepads without a mapping:</source>
<translation>Moonlight a détecté des manettes de jeu san configuration:</translation>
<translation>Moonlight a détecté des manettes sans configuration&#x202f;:</translation>
</message>
<message>
<location filename="../gui/main.qml" line="354"/>
@@ -1035,7 +1045,7 @@
<message>
<location filename="../gui/main.qml" line="451"/>
<source>Are you sure you want to quit?</source>
<translation>Vous êtes sûr de vouloir quitter?</translation>
<translation>Vous êtes sûr de vouloir quitter&#x202f;?</translation>
</message>
<message>
<location filename="../gui/main.qml" line="481"/>
Binary file not shown.
+1021
View File
@@ -0,0 +1,1021 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="nb_NO" sourcelanguage="en_GB">
<context>
<name>AppView</name>
<message>
<location filename="../gui/AppView.qml" line="139"/>
<location filename="../gui/AppView.qml" line="293"/>
<source>Resume Game</source>
<translation>Fortsett spill</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="165"/>
<location filename="../gui/AppView.qml" line="298"/>
<source>Quit Game</source>
<translation>Avslutt spill</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="293"/>
<source>Launch Game</source>
<translation>Kjør spill</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="306"/>
<source>Direct Launch</source>
<translation>Direkteoppstart</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="310"/>
<source>Launch this app immediately when the host is selected, bypassing the app selection grid.</source>
<translation>Kjør dette programmet umiddelbart når vert er valgt, noe som hopper over utvalgsrutenettet.</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="319"/>
<source>Hide Game</source>
<translation>Skjul spill</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="323"/>
<source>Hide this game from the app grid. To access hidden games, right-click on the host and choose %1.</source>
<translation>Skjull dette spillet fra programrutenettet. For å komme til skjulte spill kan du høyreklikke verten og velge %1.</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="323"/>
<source>View All Apps</source>
<translation>Vis alle programmer</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="338"/>
<source>Are you sure you want to quit %1? Any unsaved progress will be lost.</source>
<translation>Er du sikker at du vil avslutte %1? All ulagret fremdrift vil tapt.</translation>
</message>
</context>
<context>
<name>CliQuitStreamSegue</name>
<message>
<location filename="../gui/CliQuitStreamSegue.qml" line="9"/>
<source>Establishing connection to PC...</source>
<translation type="unfinished">Etablerer tilkobling til PC </translation>
</message>
<message>
<location filename="../gui/CliQuitStreamSegue.qml" line="13"/>
<source>Quitting app...</source>
<translation type="unfinished">Avslutter program </translation>
</message>
</context>
<context>
<name>CliStartStreamSegue</name>
<message>
<location filename="../gui/CliStartStreamSegue.qml" line="9"/>
<source>Establishing connection to PC...</source>
<translation>Etablerer tilkobling til PC </translation>
</message>
<message>
<location filename="../gui/CliStartStreamSegue.qml" line="13"/>
<source>Loading app list...</source>
<translation>Laster inn programliste </translation>
</message>
<message>
<location filename="../gui/CliStartStreamSegue.qml" line="81"/>
<source>Are you sure you want to quit %1? Any unsaved progress will be lost.</source>
<translation>Er du sikker at du ønsker å avslutte %1? All ulagret fremdrift vil tapt.</translation>
</message>
</context>
<context>
<name>GamepadMapper</name>
<message>
<location filename="../gui/GamepadMapper.qml" line="4"/>
<source>Gamepad Mapping</source>
<translation type="unfinished">Tastetilknytning</translation>
</message>
</context>
<context>
<name>NvHTTP</name>
<message>
<location filename="../backend/nvhttp.cpp" line="327"/>
<source>Missing audio capture device. Reinstalling GeForce Experience should resolve this error.</source>
<translation>Manglende lydopptaksenhet. Å reinstallere GeForce Experience bør løse dette problemet.</translation>
</message>
</context>
<context>
<name>PcView</name>
<message>
<location filename="../gui/PcView.qml" line="20"/>
<source>Computers</source>
<translation>Datamaskiner</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="67"/>
<source>Unable to connect to the specified PC.</source>
<translation type="unfinished">Ikke ikke koble til denne PC-en.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="70"/>
<source>This PC&apos;s Internet connection is blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation type="unfinished">Internett-tilkoblingen denne PC-en blokkerer Moonlight. Strømming over Internett vil muligens ikke fungere når tilkoblet gjennom dette nettverket.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="73"/>
<source>Click the Help button for possible solutions.</source>
<translation type="unfinished">Klikk «Hjelp»-knappen for mulige løsninger.</translation>
</message>
<message>
<source>Searching for PCs with NVIDIA GameStream enabled...</source>
<translation type="vanished">Suche nach Hosts mit aktivierten NVIDIA GameStream</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="103"/>
<source>Automatic PC discovery is disabled. Add your PC manually.</source>
<translation type="unfinished">Automatisk oppdaging av PC er avskrudd. Leg til din PC manuelt.</translation>
</message>
<message>
<source>View Apps</source>
<translation type="vanished">Apps anzeigen</translation>
</message>
<message>
<source>View Hidden Apps</source>
<translation type="vanished">Ausgeblendete Apps anzeigen</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="187"/>
<source>Wake PC</source>
<translation>Vekk PC</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="193"/>
<source>Test Network</source>
<translation>Test nettverk</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="202"/>
<source>Rename PC</source>
<translation>Gi PC nytt navn</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="211"/>
<source>Delete PC</source>
<translation>Slett PC</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="224"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="247"/>
<source>You cannot pair while a previous session is still running on the host PC. Quit any running games or reboot the host PC, then try pairing again.</source>
<translation type="unfinished">Du kan ikke parre mens en tidligere økt fremdeles kjører din verts-PC. Avslutt alle kjørende spill eller utfør omstart av verts-PC-en, før du prøver parring igjen.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="302"/>
<source>Please enter %1 on your GameStream PC. This dialog will close when pairing is completed.</source>
<translation>Skriv inn %1 din GameStream-PC. Denne dialogen vil lukkes når parringen er fullført.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="313"/>
<source>Are you sure you want to remove this PC?</source>
<translation>Er du sikker at du vil fjerne denne PC-en?</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="330"/>
<source>Moonlight is testing your network connection to determine if NVIDIA GameStream is blocked.</source>
<translation>Moonlight tester din nettverkstilkobling for å fastsette hvorvidt NViDIA GameStream er blokkert.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="330"/>
<source>This may take a few seconds</source>
<translation type="unfinished">Dette kan ta noen sekunder </translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="341"/>
<source>This network does not appear to be blocking Moonlight. If you still have trouble connecting, check your PC&apos;s firewall settings.</source>
<translation>Dette nettverket ser ikke ut til å blokkere Moonlight. Hvis du fremdeles har problemer med å koble til bør du sjekke PC-ens brannmursinnstillinger.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="341"/>
<source>If you are trying to stream over the Internet, install the Moonlight Internet Hosting Tool on your gaming PC and run the included Internet Streaming Tester to check your gaming PC&apos;s Internet connection.</source>
<translation type="unfinished">Hvis du prøver å strømme over Internett, installer Moonlight Internett-vertstjeningsverktøyet din spill-PC og kjør den inkluderte Internett-strømmingstesteren for å teste tilknytningen den har til Internett.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="345"/>
<source>Your PC&apos;s current network connection seems to be blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation>Nettverkstilkoblingen din PC ser ut til å blokkere Moonlight. Strømming over Internett vil muligens ikke virke når tilknyttet fra dette nettverket.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="345"/>
<source>The following network ports were blocked:</source>
<translation type="unfinished">Følgende nettverksporter ble blokkert:</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="337"/>
<source>The network test could not be performed because none of Moonlight&apos;s connection testing servers were reachable from this PC. Check your Internet connection or try again later.</source>
<translation type="unfinished">Nettverkstesten kunne ikke utføres fordi ingen av Moonlight sine tilkoblingstest-tjener kunne nås fra denne PC-en. Sjekk din tilknytning til Internett eller prøv igjen senere.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="102"/>
<source>Searching for PCs on your local network with NVIDIA GameStream enabled...</source>
<translation type="unfinished">Søker etter PC-er ditt lokalnettverk med NVIDIA GameStream påskrudd </translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>PC Status: %1</source>
<translation>PC-status: %1</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>Online</source>
<translation>Påkoblet</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>Offline</source>
<translation>Frakoblet</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="177"/>
<source>View All Apps</source>
<translation>Vis alle programmer</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="357"/>
<source>Enter the new name for this PC:</source>
<translation>Skriv inn nytt navn for denne PC-en:</translation>
</message>
</context>
<context>
<name>PendingQuitTask</name>
<message>
<location filename="../backend/computermanager.cpp" line="542"/>
<source>The running game wasn&apos;t started by this PC. You must quit the game on the host PC manually or use the device that originally started the game.</source>
<translation>Kjørende spill ble ikke startet denne PC-en. Du avslutte spillet verts-PC-en manuelt eller bruke enheten som opprinnelig startet spillet.</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../cli/quitstream.cpp" line="76"/>
<location filename="../cli/startstream.cpp" line="133"/>
<source>Failed to connect to %1</source>
<translation type="unfinished">Klarte ikke å koble til %1</translation>
</message>
<message>
<location filename="../cli/quitstream.cpp" line="88"/>
<location filename="../cli/startstream.cpp" line="89"/>
<source>Computer %1 has not been paired. Please open Moonlight to pair before streaming.</source>
<translation type="unfinished">Det har ikke blitt satt opp parring til datamaskin %1. Åpne Moonlight for å gjøre dette før du begynner strømmingen.</translation>
</message>
<message>
<location filename="../cli/quitstream.cpp" line="102"/>
<location filename="../cli/startstream.cpp" line="126"/>
<source>Quitting app failed, reason: %1</source>
<translation type="unfinished">Klarte ikke å avslutte program, fordi: %1</translation>
</message>
<message>
<location filename="../cli/startstream.cpp" line="137"/>
<source>Failed to find application %1</source>
<translation type="unfinished">Klarte ikke å finne programmet %1</translation>
</message>
</context>
<context>
<name>QuitSegue</name>
<message>
<location filename="../gui/QuitSegue.qml" line="12"/>
<source>Quitting %1...</source>
<translation>Avslutter %1 </translation>
</message>
</context>
<context>
<name>Session</name>
<message>
<source>No video received from host. Check the host PC&apos;s firewall and port forwarding rules.</source>
<translation type="vanished">Kein Videosignal vom Host empfangen. Prüfe die Host Firewall und Portweiterleitungsregeln.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="89"/>
<source>No video received from host.</source>
<translation>Fikk ingen video fra vert.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="90"/>
<source>Check your firewall and port forwarding rules for port(s): %1</source>
<translation>Sjekk din brannmur og portvideresendingsregler for port(ene): %1</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="95"/>
<source>Your network connection isn&apos;t performing well. Reduce your video bitrate setting or try a faster connection.</source>
<translation>Din nettverkstilknytning fungerer ikke bra. Reduser videobitraten fra dens innstilling, eller prøv en raskere tilkobling.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="100"/>
<source>Something went wrong on your host PC when starting the stream.</source>
<translation>Noe gikk galt din vetts-PC under oppstart av strømmen.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="101"/>
<source>Make sure you don&apos;t have any DRM-protected content open on your host PC. You can also try restarting your host PC.</source>
<translation>Forsikre deg om at du ikke har noe DRM-beskyttet innhold åpent din verts-PC. Du kan også prøve å starte verts-PC-en ny.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="102"/>
<source>If the issue persists, try reinstalling your GPU drivers and GeForce Experience.</source>
<translation>Hvis problemet vedvarer kan du prøve å reinstallere dine GPU-drivere og GeForce Experience.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="107"/>
<source>Connection terminated</source>
<translation>Tilkobling avsluttet</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="592"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="597"/>
<source>Your selection to enable remote desktop mouse mode may cause problems in games.</source>
<translation type="unfinished">At du har satt fjernskrivebordsmusemodus kan forårsake problemer i spill.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="602"/>
<source>HDR is not supported with software decoding.</source>
<translation>HDR er ikke støttet med mykvaredekoding.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="606"/>
<source>Your settings selection to force software decoding may cause poor streaming performance.</source>
<translation type="unfinished">At du har satt tvungen mykvaredekoding kan forårsake dårlig strømmingsytelse.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="611"/>
<source>Using unsupported FPS options may cause stuttering or lag.</source>
<translation>Bruk av ustøttede BPS-valg kan forårsake hakking eller forsinkelse.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="614"/>
<source>V-sync will be disabled when streaming at a higher frame rate than the display.</source>
<translation>VSync vil bli avskrudd under strømming i høyere bilderammetakt enn skjermen.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="631"/>
<source>Using software decoding due to your selection to force HEVC without GPU support. This may cause poor streaming performance.</source>
<translation type="unfinished">Bruker mykvaredekoding som følge av ditt valg om påtvungen HEVC uten skjermkortsstøtte. Dette kan forårsake dårlig strømmingsytelse.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="634"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC decoding.</source>
<translation>PC-ens skjermkort støtter ikke HEVC-dekoding.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="641"/>
<source>Your host PC GPU doesn&apos;t support HEVC. A GeForce GTX 900-series (Maxwell) or later GPU is required for HEVC streaming.</source>
<translation type="unfinished">Skjermkortet i din verts-PC støtter ikke HEVC. Et GeForce GTX kort i 900-serien (Maxwell) eller senere kreves.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="658"/>
<source>%1 doesn&apos;t support HDR10.</source>
<translation>%1 støtter ikke HDR10.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="662"/>
<source>Your host PC GPU doesn&apos;t support HDR streaming. A GeForce GTX 1000-series (Pascal) or later GPU is required for HDR streaming.</source>
<translation type="unfinished">Skjermkortet i din verts-PC støtter ikke HDR-strømming. Et GeForce GTX kort i 1000-serien (Pascal) eller senere kreves.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="671"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC Main10 decoding for HDR streaming.</source>
<translation>Denne PC-ens skjermkort støtter ikke HEVC Main10-dekoding for HDR-strømming.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="684"/>
<source>GeForce Experience 3.0 or higher is required for 4K streaming.</source>
<translation type="unfinished">GeForce Experience 3.0 eller senere kreves for 4k-strømming.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="699"/>
<source>Your selected surround sound setting is not supported by the current audio device.</source>
<translation>Din valgte kringlydsinnstilling støttes ikke nåværende lydenhet.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="706"/>
<source>Failed to open audio device. Audio will be unavailable during this session.</source>
<translation>Klarte ikke å åpne lydenhet. Lyd vil være utilgjengelig under denne økten.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="711"/>
<source>An attached gamepad has no mapping and won&apos;t be usable. Visit the Moonlight help to resolve this.</source>
<translation>En tilknyttet spillkontroller har ingen tastetilknytninger, og vil ikke kunne brukes. Besøk Moonlight-hjelpen for å løse dette.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="719"/>
<source>Your host PC&apos;s GPU doesn&apos;t support streaming video resolutions over 4K.</source>
<translation type="unfinished">Skjermkortet i din verts-PC støtter ikke strømming av videooppløsninger over 4k.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="723"/>
<source>Video resolutions over 4K are only supported by the HEVC codec.</source>
<translation>Videooppløsninger over 4k støttes kun av HEVC-kodeket.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="737"/>
<source>Your selection to force hardware decoding cannot be satisfied due to missing hardware decoding support on this PC&apos;s GPU.</source>
<translation type="unfinished">At du har satt tvungen maskinvaredekoding har ingen innvirkning siden det ikke er støtte for det denne PC-ens skjermkort.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="740"/>
<source>Your codec selection and force hardware decoding setting are not compatible. This PC&apos;s GPU lacks support for decoding your chosen codec.</source>
<translation type="unfinished">At du har valgt tungen maskinvaredekoding fungerer ikke sammen med kodekvalget. Denne PC-ens skjermkort mangler støtte for dekoding i valgt kodek.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1041"/>
<source>GeForce Experience returned error: %1</source>
<translation>GeForce Experience returnerte en feil: %1</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1519"/>
<source>Unable to initialize video decoder. Please check your streaming settings and try again.</source>
<translation type="unfinished">Kunne ikke starte videodekoder. Sjekk strømmingsinnstillingene dine og prøv igjen.</translation>
</message>
</context>
<context>
<name>SettingsView</name>
<message>
<location filename="../gui/SettingsView.qml" line="12"/>
<source>Settings</source>
<translation>Innstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="70"/>
<source>Resolution and FPS</source>
<translation>Oppløsning og BPS</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="78"/>
<source>Setting values too high for your PC or network connection may cause lag, stuttering, or errors.</source>
<translation>Å sette verdier som er for høye for PC-en eller nettverket kan forårsake forsinkelse, hakking, eller feil.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="60"/>
<source>Basic Settings</source>
<translation>Grunnleggende innstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="209"/>
<source>720p</source>
<translation>720p</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="215"/>
<source>1080p</source>
<translation>1080p</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="221"/>
<source>1440p</source>
<translation>1440p</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="227"/>
<source>4K</source>
<translation type="unfinished">4k</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="331"/>
<source>Custom resolutions are not officially supported by GeForce Experience, so it will not set your host display resolution. You will need to set it manually while in game.</source>
<translation type="unfinished">Brukerdefinerte oppløsninger støttes ikke offisielt av GeForce Experience, det vil ikke sette din vertsskjermoppløsning. Du vil måtte sette den manuelt mens du er inne i et spill.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="332"/>
<source>Resolutions that are not supported by your client or host PC may cause streaming errors.</source>
<translation type="unfinished">Oppløsninger som ikke er støttet av din klient eller verts-PC kan forårsake strømmingsfeil.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="338"/>
<source>Enter a custom resolution:</source>
<translation>Skriv inn egendefinert oppløsning:</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="406"/>
<location filename="../gui/SettingsView.qml" line="407"/>
<location filename="../gui/SettingsView.qml" line="427"/>
<location filename="../gui/SettingsView.qml" line="430"/>
<source>%1 FPS</source>
<translation>%1 BPS</translation>
</message>
<message>
<source>%1 FPS (nicht unterstützt)</source>
<translation type="vanished">%1 FPS (nicht unterstützt)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="493"/>
<source>Video bitrate:</source>
<translation>Videobitrate:</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="501"/>
<source>Lower the bitrate on slower connections. Raise the bitrate to increase image quality.</source>
<translation type="unfinished">Senk bitraten tregere tilkoblinger. Øk bitraten for bedre bildekvalitet.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="519"/>
<source>Video bitrate: %1 Mbps</source>
<translation>Videobitrate: %1 Mbps</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="527"/>
<source>Display mode</source>
<translation>Visningsmodus</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="545"/>
<source> (Recommended)</source>
<translatorcomment>Dont put the space in ransaltions</translatorcomment>
<translation> (anbefalt)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Fullscreen</source>
<translation>Fullskjermsvisning</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="592"/>
<source>Fullscreen generally provides the best performance, but borderless windowed may work better with features like macOS Spaces, Alt+Tab, screenshot tools, on-screen overlays, etc.</source>
<translation type="unfinished">Fullskjermsvisning gir vanligvis best ytelse, men vinduskantløst vindusmodus kan fungere med funksjoner som macOS-«Spaces», Alt+Tab, bildeskjermsverktøy, overleggslag skjermen, osv.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="577"/>
<source>Borderless windowed</source>
<translation>Skjermkantløst vindusmodus</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="412"/>
<location filename="../gui/SettingsView.qml" line="415"/>
<location filename="../gui/SettingsView.qml" line="424"/>
<location filename="../gui/SettingsView.qml" line="437"/>
<location filename="../gui/SettingsView.qml" line="440"/>
<source>%1 FPS (Unsupported)</source>
<translation>%1 BPS (ustøttet)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<source>Windowed</source>
<translation>Vindusmodus</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="599"/>
<source>V-Sync</source>
<translation type="unfinished">VSync</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="609"/>
<source>Disabling V-Sync allows sub-frame rendering latency, but it can display visible tearing</source>
<translation type="unfinished">Å skru av VSync tillater underramme-opptegningslatens, men det kan vise synlig revning</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="616"/>
<source>Frame pacing</source>
<translation type="unfinished">Bilderammetaktslåsing</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="626"/>
<source>Frame pacing reduces micro-stutter by delaying frames that come in too early</source>
<translation type="unfinished">Reduserer mikrohakking ved å forsinke bilderammer som kommer inn for tidlig</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="636"/>
<source>Audio Settings</source>
<translation>Lydinnstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="671"/>
<source>Stereo</source>
<translation>Stereo</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="675"/>
<source>5.1 surround sound</source>
<translation>5,1-kringlyd</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="679"/>
<source>7.1 surround sound</source>
<translation>7,1-kringlyd</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="693"/>
<source>Mute host PC speakers while streaming</source>
<translation>Forstum verts-PC-ens høyttalere under strømming</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="703"/>
<source>You must restart any game currently in progress for this setting to take effect</source>
<translation type="unfinished">Du starte spill som kjøres ny for at denne innstillingen skal tre i effekt</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="709"/>
<source>Mute audio stream when Moonlight is not the active window</source>
<translation>Forstum lydstrøm når Moonlight ikke er det aktive vinduet</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="720"/>
<source>Mutes Moonlight&apos;s audio when you Alt+Tab out of the stream or click on a different window.</source>
<translation>Demper all lyd i Moonlight når du trykker Alt+Tab for å komme deg ut av strømmen eller klikker et annet vindu.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="729"/>
<source>UI Settings</source>
<translation>Grensesnittsinnstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="739"/>
<source>Language</source>
<translation>Språk</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="765"/>
<source>Automatic</source>
<translation>Automatisk</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="805"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation>Du starte Moonlight ny for at denne endringen skal tre i effekt</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="819"/>
<source>GUI display mode</source>
<translation>Visningsmodus for brukergrensesnitt</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="856"/>
<source>Maximized</source>
<translation>Maksimert</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="913"/>
<source>Input Settings</source>
<translation type="unfinished">Inndata-innstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation type="unfinished">Skrur sømløs musekontroll uten å fange klientens musepeker. Dette er ideelt for fjernskrivebordsbruk, men fungerer ikke i de fleste spill.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="936"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation type="unfinished">Merk: Som følge av en feil i GeForce Experience, vil dette alternativet muligens ikke fungere riktig hvis din verts-PC har flere skjermer.</translation>
</message>
<message>
<source>Capture system keyboard shortcuts while streaming in fullscreen</source>
<translation type="vanished">Erfassen von System-Tastaturkürzeln beim Streaming im Vollbildmodus</translation>
</message>
<message>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming in fullscreen.</source>
<translation type="vanished">Dies ermöglicht die Erfassung von systemweiten Tastenkombinationen wie Alt+Tab, die normalerweise vom Client beim Streamen im Vollbildmodus ausgeführt werden würden.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="955"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation type="unfinished">Merk: Gitte tastatursnarveier, som Ctrl+Alt+Del Windows kan ikke fanges av noe program, inkludert Moonlight.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1018"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation>Bruk pekeskjerm som virtuell pekeflate</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<source>Swap left and right mouse buttons</source>
<translation>Bytt venstre og høyre musetaster</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1047"/>
<source>Reverse mouse scrolling direction</source>
<translation>Omvendt muserullingsretning</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1061"/>
<source>Gamepad Settings</source>
<translation>Spillkontrolller-innstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1071"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation>Veksle A/B- og X/Y-spillkontrollerknapper</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1089"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation>Dette bytter spillkontrollere til knappeoppsett i Nintendo-stil</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1095"/>
<source>Force gamepad #1 always connected</source>
<translation type="unfinished">Krev at spillkontroller nr. 1 alltid er tilkoblet</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1105"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation type="unfinished">Krever at én spillkontroller alltid er tilkoblet verten, selv om ingen spillkontrollere faktisk er tilkoblet til denne PC-en.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="935"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation>Du kan veksle dette under strømming ved bruk av Ctrl+Alt+Shift+M.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation type="unfinished">Skrur musekontroll ved bruk av spillkontrollere ved å holde «Start»-knappen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1124"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation>Behandle spillkontrollerinndata når Moonlight er i bakgrunnen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1135"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation type="unfinished">Lar Moonlight fange opp spillkontollerinndata selv når det ikke er i fokus</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1144"/>
<source>Host Settings</source>
<translation>Vertsinnstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1184"/>
<source>Advanced Settings</source>
<translation>Avanserte innstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="646"/>
<source>Audio configuration</source>
<translation>Lydoppsett</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="873"/>
<source>Show connection quality warnings</source>
<translation>Vis kvalitetsadvarsler om tilkoblingen</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="885"/>
<source>Discord Rich Presence integration</source>
<translation>Rik tilstedeværelsesintegrasjon for Discord</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="895"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation>Oppdaterer din Discord-status til å vise navnet spillet du strømmer.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1106"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation type="unfinished">Kun skru dette når du strømmer et spill som ikke støtter av spillkontrollere er tilkoblet etter oppstart.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation>Optimaliser mus for fjernskrivebord istedenfor spill</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="946"/>
<source>Capture system keyboard shortcuts</source>
<translation>Fang systemtastatursarveier</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation>Lar deg fange tastatursnarveier hele systemet, slik som Alt+Tav som normalt ville blitt håndtert av klient-OS under strømming.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="984"/>
<source>in fullscreen</source>
<translation>i fullskjermsmodus</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="988"/>
<source>always</source>
<translation>alltid</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1028"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation type="unfinished">Får pekeskjermen til å oppføre seg som pekeflate. Ellers vil pekeskjermen kontrollere musepekeren direkte.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1154"/>
<source>Optimize game settings for streaming</source>
<translation>Optimaliser spillinnstillinger for strømming</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1165"/>
<source>Quit app on host PC after ending stream</source>
<translation>Avslutt program verts-PC etter at strømmen fullendes</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1175"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation>Dette vil lukke programmet eller spillet du strømmer når du avslutter strømmen din. All ulagret fremdrift vil tapt.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1194"/>
<source>Video decoder</source>
<translation>Videodekoder</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<source>Automatic (Recommended)</source>
<translation>Automatisk (anbefalt)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1223"/>
<source>Force software decoding</source>
<translation>Påtving mykvaredekoding</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1227"/>
<source>Force hardware decoding</source>
<translation>Påtving maskinvaredekoding</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1240"/>
<source>Video codec</source>
<translation>Videokodek</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1269"/>
<source>H.264</source>
<translation>H.264</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>HEVC (H.265)</source>
<translation>HEVC (H.265)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1290"/>
<source>Unlock unsupported FPS options</source>
<translation>Lås opp ustøttede BPS-innstillinger</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1309"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation>Finn PC-er lokalnettverket automatisk (anbefales)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1334"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation>Oppdag blokkerte tilkoblinger automatisk (anbefales)</translation>
</message>
</context>
<context>
<name>StreamSegue</name>
<message>
<location filename="../gui/StreamSegue.qml" line="11"/>
<source>Resuming %1...</source>
<translation type="unfinished">Fortsetter %1 </translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="12"/>
<location filename="../gui/StreamSegue.qml" line="19"/>
<source>Starting %1...</source>
<translation type="unfinished">Starter %1 </translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="25"/>
<source>Starting %1 failed: Error %2</source>
<translation type="unfinished">Kunne ikke starte %1. Feil %2</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="28"/>
<source>Check your firewall and port forwarding rules for port(s): %1</source>
<translation>Sjekk din brannmur og portvideresendingsregler for port(ene): %1</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="74"/>
<source>This PC&apos;s Internet connection is blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation type="unfinished">Internett-tilknytningen denne PC-en blokkerer Moonlight. Strømming over Internett vil muligens ikke virke når tilknyttet fra dette nettverket.</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="161"/>
<source>Tip:</source>
<translation>Tips:</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="161"/>
<source>Press %1 to disconnect your session</source>
<translation>Trykk %1 for å koble fra økten</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
<source>Start+Select+L1+R1</source>
<translation>Start+Select+L1+R1</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
<source>Ctrl+Alt+Shift+Q</source>
<translation>Ctrl+Alt+Shift+Q</translation>
</message>
</context>
<context>
<name>main</name>
<message>
<location filename="../gui/main.qml" line="254"/>
<location filename="../gui/main.qml" line="264"/>
<location filename="../gui/main.qml" line="393"/>
<location filename="../gui/main.qml" line="408"/>
<source>Settings</source>
<translation>Innstillinger</translation>
</message>
<message>
<location filename="../gui/main.qml" line="255"/>
<source>Version %1</source>
<translation>Versjon %1</translation>
</message>
<message>
<location filename="../gui/main.qml" line="271"/>
<source>Join our community on Discord</source>
<translation>Ta del i gemenskapen DIscord</translation>
</message>
<message>
<location filename="../gui/main.qml" line="283"/>
<source>Computers</source>
<translation>Datamaskiner</translation>
</message>
<message>
<location filename="../gui/main.qml" line="290"/>
<source>Add PC manually</source>
<translation>Legg til PC manuelt</translation>
</message>
<message>
<location filename="../gui/main.qml" line="330"/>
<source>Update available for Moonlight: Version %1</source>
<translation type="unfinished">Ny versjon av Moonlight tilgjengelig: Versjon %1</translation>
</message>
<message>
<location filename="../gui/main.qml" line="377"/>
<source>Gamepad Mapper</source>
<translation>Spillkontroller-knappetilknytter</translation>
</message>
<message>
<location filename="../gui/main.qml" line="381"/>
<source>Gamepad Mapping</source>
<translation>Tilknytning av taster spillkontroller</translation>
</message>
<message>
<location filename="../gui/main.qml" line="415"/>
<source>No functioning hardware accelerated H.264 video decoder was detected by Moonlight. Your streaming performance may be severely degraded in this configuration.</source>
<translation type="unfinished">Ingen funksjonell maskinvareakselerert H.264-videodekoder ble oppdaget av Moonlight. Din strømmingsytelse kan nedgraderes betydelig i dette oppsettet.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="423"/>
<source>Hardware acceleration doesn&apos;t work on XWayland. Continuing on XWayland may result in poor streaming performance. Try running with QT_QPA_PLATFORM=wayland or switch to X11.</source>
<translation>Maskrinvareakselerasjon fungerer ikke XWayland. Fortsatt bruk av XWayland kan resultere i dårlig strømmingsytelse. Prøv å kjøre med QT_QPA_PLATFORM=wayland, eller bytt til X11.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="432"/>
<source>This version of Moonlight isn&apos;t optimized for your PC. Please download the &apos;%1&apos; version of Moonlight for the best streaming performance.</source>
<translation>Denne versjonen av Moonlight er ikke optimalisert for din PC. Last ned «%1»-versjonen av Moonlight for best strømmingsytelse.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="441"/>
<source>Moonlight detected gamepads without a mapping:</source>
<translation>Moonlight oppdaget spillkontrollere uten tilknyttede knapper:</translation>
</message>
<message>
<location filename="../gui/main.qml" line="354"/>
<source>Help</source>
<translation>Hjelp</translation>
</message>
<message>
<location filename="../gui/main.qml" line="417"/>
<source>Click the Help button for more information on solving this problem.</source>
<translation type="unfinished">Klikk «Hjelp»-knappen for mer løsningsinfo.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="425"/>
<source>Click the Help button for more information.</source>
<translation type="unfinished">Klikk «Hjelp»-knappen for mer info.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="443"/>
<source>Click the Help button for information on how to map your gamepads.</source>
<translation>Klikk «Hjelp»-knappen for info om hvordan du tilknytter taster til dine spillkontrollere.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="451"/>
<source>Are you sure you want to quit?</source>
<translation>Er du sikker at du vil avslutte?</translation>
</message>
<message>
<location filename="../gui/main.qml" line="481"/>
<source>Enter the IP address of your GameStream PC:</source>
<translation>Skriv inn IP-adressen tilhørende din GameStream-PC:</translation>
</message>
</context>
</TS>
Binary file not shown.
+1021
View File
@@ -0,0 +1,1021 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru" sourcelanguage="en_GB">
<context>
<name>AppView</name>
<message>
<location filename="../gui/AppView.qml" line="139"/>
<location filename="../gui/AppView.qml" line="293"/>
<source>Resume Game</source>
<translation>Продолжить игру</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="165"/>
<location filename="../gui/AppView.qml" line="298"/>
<source>Quit Game</source>
<translation>Выйти из игры</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="293"/>
<source>Launch Game</source>
<translation>Запустить игру</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="306"/>
<source>Direct Launch</source>
<translation>Прямой запуск</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="310"/>
<source>Launch this app immediately when the host is selected, bypassing the app selection grid.</source>
<translation>Запустить эту игру при выборе хоста (пропустить страницу выбора игры)</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="319"/>
<source>Hide Game</source>
<translation>Скрыть игру</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="323"/>
<source>Hide this game from the app grid. To access hidden games, right-click on the host and choose %1.</source>
<translation>Скроет эту игру из списка. Чтобы показать скрытые игры, нажмите правой кнопкой на хост и выберите %1.</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="323"/>
<source>View All Apps</source>
<translation>Показать все игры</translation>
</message>
<message>
<location filename="../gui/AppView.qml" line="338"/>
<source>Are you sure you want to quit %1? Any unsaved progress will be lost.</source>
<translation>Вы уверены, что хотите завершить %1? Несохранённый прогресс может быть утерян.</translation>
</message>
</context>
<context>
<name>CliQuitStreamSegue</name>
<message>
<location filename="../gui/CliQuitStreamSegue.qml" line="9"/>
<source>Establishing connection to PC...</source>
<translation>Подключение к ПК...</translation>
</message>
<message>
<location filename="../gui/CliQuitStreamSegue.qml" line="13"/>
<source>Quitting app...</source>
<translation>Выход из игры...</translation>
</message>
</context>
<context>
<name>CliStartStreamSegue</name>
<message>
<location filename="../gui/CliStartStreamSegue.qml" line="9"/>
<source>Establishing connection to PC...</source>
<translation>Подключение к ПК...</translation>
</message>
<message>
<location filename="../gui/CliStartStreamSegue.qml" line="13"/>
<source>Loading app list...</source>
<translation>Загружается список игр...</translation>
</message>
<message>
<location filename="../gui/CliStartStreamSegue.qml" line="81"/>
<source>Are you sure you want to quit %1? Any unsaved progress will be lost.</source>
<translation>Вы уверены, что хотите завершить %1? Несохранённый прогресс может быть утерян.</translation>
</message>
</context>
<context>
<name>GamepadMapper</name>
<message>
<location filename="../gui/GamepadMapper.qml" line="4"/>
<source>Gamepad Mapping</source>
<translation>Настройки геймпада</translation>
</message>
</context>
<context>
<name>NvHTTP</name>
<message>
<location filename="../backend/nvhttp.cpp" line="327"/>
<source>Missing audio capture device. Reinstalling GeForce Experience should resolve this error.</source>
<translation>Потеряно виртуальное аудиоустройство. Попробуйте переустановить GeForce Experience.</translation>
</message>
</context>
<context>
<name>PcView</name>
<message>
<location filename="../gui/PcView.qml" line="20"/>
<source>Computers</source>
<translation>Компьютеры</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="67"/>
<source>Unable to connect to the specified PC.</source>
<translation>Не удалось подключиться к указанному ПК.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="70"/>
<source>This PC&apos;s Internet connection is blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation>Эта сеть блокирует выход Moonlight в интернет. Стриминг через интернет может не работать в этой сети.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="73"/>
<source>Click the Help button for possible solutions.</source>
<translation>Нажмите кнопку Помощь для возможных вариантов решения проблемы.</translation>
</message>
<message>
<source>Searching for PCs with NVIDIA GameStream enabled...</source>
<translation type="vanished">Suche nach Hosts mit aktivierten NVIDIA GameStream</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="103"/>
<source>Automatic PC discovery is disabled. Add your PC manually.</source>
<translation>Автоматические обнаружение ПК отключено. Добавьте свой ПК вручную.</translation>
</message>
<message>
<source>View Apps</source>
<translation type="vanished">Apps anzeigen</translation>
</message>
<message>
<source>View Hidden Apps</source>
<translation type="vanished">Ausgeblendete Apps anzeigen</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="187"/>
<source>Wake PC</source>
<translation>Разбудить ПК</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="193"/>
<source>Test Network</source>
<translation>Проверить сеть</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="202"/>
<source>Rename PC</source>
<translation>Переименовать ПК</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="211"/>
<source>Delete PC</source>
<translation>Удалить ПК</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="224"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="247"/>
<source>You cannot pair while a previous session is still running on the host PC. Quit any running games or reboot the host PC, then try pairing again.</source>
<translation>Нельзя создать новую пару, пока на ПК ещё активно соединение. Завершите запущенную на хосте игру или перезапустите ПК-хост, затем попробуйте ещё раз.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="302"/>
<source>Please enter %1 on your GameStream PC. This dialog will close when pairing is completed.</source>
<translation>Введите %1 на ПК с GameStream. Этот диалог закроется автоматически при успешном сопряжении.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="313"/>
<source>Are you sure you want to remove this PC?</source>
<translation>Вы уверены, что хотите удалить этот ПК?</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="330"/>
<source>Moonlight is testing your network connection to determine if NVIDIA GameStream is blocked.</source>
<translation>Moonlight тестирует выше сетевое подключение, чтобы найти проблемы с NVIDIA GameStream.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="330"/>
<source>This may take a few seconds</source>
<translation>Это может занять несколько секунд</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="341"/>
<source>This network does not appear to be blocking Moonlight. If you still have trouble connecting, check your PC&apos;s firewall settings.</source>
<translation>Эта сеть не блокирует Moonlight. Если вы всё ещё не можете подключиться, проверьте настроки брандмауэра на ПК-хосте.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="341"/>
<source>If you are trying to stream over the Internet, install the Moonlight Internet Hosting Tool on your gaming PC and run the included Internet Streaming Tester to check your gaming PC&apos;s Internet connection.</source>
<translation>Если вы пытаетесь стримить через интернет, установите Moonlight Internet Hosting Tool на хост-ПК и запустите Internet Streaming Tester.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="345"/>
<source>Your PC&apos;s current network connection seems to be blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation>Ваше сетевое подключение блокирует выход Moonlight в интернет. Стриминг через интернет может не работать.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="345"/>
<source>The following network ports were blocked:</source>
<translation>Следующие порты оказались закрыты:</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="337"/>
<source>The network test could not be performed because none of Moonlight&apos;s connection testing servers were reachable from this PC. Check your Internet connection or try again later.</source>
<translation>Не удалось подключиться к серверам Moonlight для проверки соединения. Проверьте своё подключение к интернету и попробуйте ещё раз.</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="102"/>
<source>Searching for PCs on your local network with NVIDIA GameStream enabled...</source>
<translation>Поиск ПК с включённым NVIDIA GameStream в вашей локальной сети...</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>PC Status: %1</source>
<translation>Статус ПК: %1</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>Online</source>
<translation>В сети</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="171"/>
<source>Offline</source>
<translation>Не в сети</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="177"/>
<source>View All Apps</source>
<translation>Показать все игры</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="357"/>
<source>Enter the new name for this PC:</source>
<translation>Введите новое имя для этого ПК:</translation>
</message>
</context>
<context>
<name>PendingQuitTask</name>
<message>
<location filename="../backend/computermanager.cpp" line="542"/>
<source>The running game wasn&apos;t started by this PC. You must quit the game on the host PC manually or use the device that originally started the game.</source>
<translation>Выбранная игра уже запущена. Вручную закройте игру на хост-ПК, или используйте устройство, с которого она была запущена.</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../cli/quitstream.cpp" line="76"/>
<location filename="../cli/startstream.cpp" line="133"/>
<source>Failed to connect to %1</source>
<translation>Не удалось подключиться к %1</translation>
</message>
<message>
<location filename="../cli/quitstream.cpp" line="88"/>
<location filename="../cli/startstream.cpp" line="89"/>
<source>Computer %1 has not been paired. Please open Moonlight to pair before streaming.</source>
<translation>Компьютер %1 не сопряжён. Выполните сопряжение перед тем, как начать стримить.</translation>
</message>
<message>
<location filename="../cli/quitstream.cpp" line="102"/>
<location filename="../cli/startstream.cpp" line="126"/>
<source>Quitting app failed, reason: %1</source>
<translation>Не удалось выйти из игры, причина: %1</translation>
</message>
<message>
<location filename="../cli/startstream.cpp" line="137"/>
<source>Failed to find application %1</source>
<translation>Не удалось найти игру &quot;%1&quot;</translation>
</message>
</context>
<context>
<name>QuitSegue</name>
<message>
<location filename="../gui/QuitSegue.qml" line="12"/>
<source>Quitting %1...</source>
<translation>Выход из %1...</translation>
</message>
</context>
<context>
<name>Session</name>
<message>
<source>No video received from host. Check the host PC&apos;s firewall and port forwarding rules.</source>
<translation type="vanished">Kein Videosignal vom Host empfangen. Prüfe die Host Firewall und Portweiterleitungsregeln.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="89"/>
<source>No video received from host.</source>
<translation>Не удалось загрузить видео с хост-ПК. (No video received from host.)</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="90"/>
<source>Check your firewall and port forwarding rules for port(s): %1</source>
<translation>Проверьте настройки брандмауэра и проброса портов для следующих портов: %1</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="95"/>
<source>Your network connection isn&apos;t performing well. Reduce your video bitrate setting or try a faster connection.</source>
<translation>Ваше сетевое подключение не справляется с заданными настройками. Попробуйте изменить битрейт или использовать более быстрое подключение.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="100"/>
<source>Something went wrong on your host PC when starting the stream.</source>
<translation>Что-то пошло не так на хост-ПК при попытке начать стрим.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="101"/>
<source>Make sure you don&apos;t have any DRM-protected content open on your host PC. You can also try restarting your host PC.</source>
<translation>Убедитесь, что на нём не открыто защищённых DRM материалов. Также попытайтесь перезагрузить ПК.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="102"/>
<source>If the issue persists, try reinstalling your GPU drivers and GeForce Experience.</source>
<translation>Если проблема не уходит, попробуйте переустановить драйвер видеокарты и/или GeForce Experience.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="107"/>
<source>Connection terminated</source>
<translation>Подключение разорвано</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="592"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="597"/>
<source>Your selection to enable remote desktop mouse mode may cause problems in games.</source>
<translation>Вы выбрали режим удалённого рабочего стола. Это может вызвать проблемы с мышью в некоторых играх.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="602"/>
<source>HDR is not supported with software decoding.</source>
<translation>HDR не поддерживается с программным декодированием.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="606"/>
<source>Your settings selection to force software decoding may cause poor streaming performance.</source>
<translation>Вы выбрали программное декодирование, что может ухудшить производительность.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="611"/>
<source>Using unsupported FPS options may cause stuttering or lag.</source>
<translation>Неподдерживаемые значения FPS могут вызвать подтормаживания или повысить задержку.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="614"/>
<source>V-sync will be disabled when streaming at a higher frame rate than the display.</source>
<translation>V-sync будет отключён, если частота кадров стрима превышает частоту развёртки экрана.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="631"/>
<source>Using software decoding due to your selection to force HEVC without GPU support. This may cause poor streaming performance.</source>
<translation>Ваша видеокарта не поддерживает аппаратное декодирование HEVC, используется программное декодирование. Это может ухудшить производительность.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="634"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC decoding.</source>
<translation>Видеокарта этого ПК не поддерживает декодирование HEVC.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="641"/>
<source>Your host PC GPU doesn&apos;t support HEVC. A GeForce GTX 900-series (Maxwell) or later GPU is required for HEVC streaming.</source>
<translation>Видеокарта хост-ПК не поддеживает HEVC. Требуется видеокарты GTX 900 серии или новее. Используйте H264.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="658"/>
<source>%1 doesn&apos;t support HDR10.</source>
<translation>%1 не поддеживает HDR10.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="662"/>
<source>Your host PC GPU doesn&apos;t support HDR streaming. A GeForce GTX 1000-series (Pascal) or later GPU is required for HDR streaming.</source>
<translation>Видеокарты ПК-хоста не поддеживает стрим в HDR. Нужна видеокарта GTX серии 1000 или новее.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="671"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC Main10 decoding for HDR streaming.</source>
<translation>Видеокарта этого ПК не поддерживает декодирование HEVC профиля Main10, HDR недоступен.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="684"/>
<source>GeForce Experience 3.0 or higher is required for 4K streaming.</source>
<translation>Разрешение 4K требует GeForce Experience 3.0 или новее.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="699"/>
<source>Your selected surround sound setting is not supported by the current audio device.</source>
<translation>Ваша настройка объёмного звука не поддерживается текущим аудиоустройством.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="706"/>
<source>Failed to open audio device. Audio will be unavailable during this session.</source>
<translation>Не удалось открыть аудиоустройство на этом ПК. Звук будет отключён на этот раз.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="711"/>
<source>An attached gamepad has no mapping and won&apos;t be usable. Visit the Moonlight help to resolve this.</source>
<translation>Подключённый геймпад не настроен и не может быть использован. Посетите раздел помощи Moonlight, чтобы исправить это.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="719"/>
<source>Your host PC&apos;s GPU doesn&apos;t support streaming video resolutions over 4K.</source>
<translation>Видеокарта хост-ПК не поддерживает разрешения выше 4K.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="723"/>
<source>Video resolutions over 4K are only supported by the HEVC codec.</source>
<translation>Разрешения выше 4K работают только с HEVC.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="737"/>
<source>Your selection to force hardware decoding cannot be satisfied due to missing hardware decoding support on this PC&apos;s GPU.</source>
<translation>Вы выбрали аппаратное декодирование, но видеокарта этого ПК не поддерживает аппаратное декодирование для выбранного кодека.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="740"/>
<source>Your codec selection and force hardware decoding setting are not compatible. This PC&apos;s GPU lacks support for decoding your chosen codec.</source>
<translation>Вы выбрали аппаратное декодирование, но видеокарта этого ПК не поддерживает аппаратное декодирование для выбранного кодека.</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1041"/>
<source>GeForce Experience returned error: %1</source>
<translation>Ошибка GeForce Experience: %1</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1519"/>
<source>Unable to initialize video decoder. Please check your streaming settings and try again.</source>
<translation>Не удалось запустить декодирование видео. Проверьте настройки стрима и попробуйте ещё раз.</translation>
</message>
</context>
<context>
<name>SettingsView</name>
<message>
<location filename="../gui/SettingsView.qml" line="12"/>
<source>Settings</source>
<translation>Настройки</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="70"/>
<source>Resolution and FPS</source>
<translation>Разрешение и FPS</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="78"/>
<source>Setting values too high for your PC or network connection may cause lag, stuttering, or errors.</source>
<translation>Слишком высокие настройки могут вызвать проблемы с производительностью, подтормаживания, или ошибки.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="60"/>
<source>Basic Settings</source>
<translation>Основные настройки</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="209"/>
<source>720p</source>
<translation>720p</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="215"/>
<source>1080p</source>
<translation>1080p</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="221"/>
<source>1440p</source>
<translation>1440p</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="227"/>
<source>4K</source>
<translation>4K</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="331"/>
<source>Custom resolutions are not officially supported by GeForce Experience, so it will not set your host display resolution. You will need to set it manually while in game.</source>
<translation>Кастомные разрешения не поддерживаются официально в GeForce Experience, так что разрешения дисплея хост-ПК не будет изменено. Вам нужно будет задать его вручную в игре.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="332"/>
<source>Resolutions that are not supported by your client or host PC may cause streaming errors.</source>
<translation>Если выбранное разрешение не поддерживается хостом или клиентом, могут возникнуть ошибки.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="338"/>
<source>Enter a custom resolution:</source>
<translation>Введите желаемое разрешение:</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="406"/>
<location filename="../gui/SettingsView.qml" line="407"/>
<location filename="../gui/SettingsView.qml" line="427"/>
<location filename="../gui/SettingsView.qml" line="430"/>
<source>%1 FPS</source>
<translation>%1 FPS</translation>
</message>
<message>
<source>%1 FPS (nicht unterstützt)</source>
<translation type="vanished">%1 FPS (nicht unterstützt)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="493"/>
<source>Video bitrate:</source>
<translation>Битрейт видео:</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="501"/>
<source>Lower the bitrate on slower connections. Raise the bitrate to increase image quality.</source>
<translation>Используйте низкий битрейт при медленном соединении. Высокий битрейт улучшит качество видео.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="519"/>
<source>Video bitrate: %1 Mbps</source>
<translation>Битрейт видео: %1 Мб/с</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="527"/>
<source>Display mode</source>
<translation>Режим дисплея</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="545"/>
<source> (Recommended)</source>
<translatorcomment>Dont put the space in ransaltions</translatorcomment>
<translation> (Рекомендуется)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Fullscreen</source>
<translation>На весь экран</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="592"/>
<source>Fullscreen generally provides the best performance, but borderless windowed may work better with features like macOS Spaces, Alt+Tab, screenshot tools, on-screen overlays, etc.</source>
<translation>Полноэкранный режим уменьшает задержку и улучшает производительность, но режим в окне без рамки может лучше работать с Alt+Tab, инструментами для создания скриншотов, оверлеями и Spaces в MacOS.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="577"/>
<source>Borderless windowed</source>
<translation>В окне без рамки</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="412"/>
<location filename="../gui/SettingsView.qml" line="415"/>
<location filename="../gui/SettingsView.qml" line="424"/>
<location filename="../gui/SettingsView.qml" line="437"/>
<location filename="../gui/SettingsView.qml" line="440"/>
<source>%1 FPS (Unsupported)</source>
<translation>%1 FPS (не поддерживается)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<source>Windowed</source>
<translation>В окне</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="599"/>
<source>V-Sync</source>
<translation>V-Sync</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="609"/>
<source>Disabling V-Sync allows sub-frame rendering latency, but it can display visible tearing</source>
<translation>Отключение V-Sync позволяет уменьшить задержку до менее 1 кадра, но допускает эффект разрывов экрана</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="616"/>
<source>Frame pacing</source>
<translation>Frame pacing (см. описание)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="626"/>
<source>Frame pacing reduces micro-stutter by delaying frames that come in too early</source>
<translation>Frame pacing улучшает плавность при стриме через интернет, Wi-Fi, и другие каналы с нестабильной задержкой (пингом), но увеличивает задержку. При стриме через проводной LAN желательно отключить.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="636"/>
<source>Audio Settings</source>
<translation>Настройки звука</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="671"/>
<source>Stereo</source>
<translation>Стерео</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="675"/>
<source>5.1 surround sound</source>
<translation>5.1 объёмный звук</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="679"/>
<source>7.1 surround sound</source>
<translation>7.1 объёмный звук</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="693"/>
<source>Mute host PC speakers while streaming</source>
<translation>Не воспроизводить звук на хост-ПК</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="703"/>
<source>You must restart any game currently in progress for this setting to take effect</source>
<translation>Для применения настроек необходим перезапуск игры</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="709"/>
<source>Mute audio stream when Moonlight is not the active window</source>
<translation>Отключить звук, когда окно Moonlight становится неактивно</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="720"/>
<source>Mutes Moonlight&apos;s audio when you Alt+Tab out of the stream or click on a different window.</source>
<translation>Когда Вы переключаетесь на другое окно на клиенте, Moonlight будет заглушен, пока Вы не переключитесь обратно.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="729"/>
<source>UI Settings</source>
<translation>Настройки интерфейса</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="739"/>
<source>Language</source>
<translation>Язык</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="765"/>
<source>Automatic</source>
<translation>Автоматически</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="805"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation>Для применения изменений необходим перезапуск Moonlight</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="819"/>
<source>GUI display mode</source>
<translation>Режим показа интерфейса</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="856"/>
<source>Maximized</source>
<translation>Развёрнуто</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="913"/>
<source>Input Settings</source>
<translation>Настройки ввода</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation>Удобно для удалённого рабочего стола, т.к. курсор мыши не будет &quot;захвачен&quot; и может уходить за пределы окна Moonlight. Не будет работать в большинстве игр.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="936"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation>Предупреждение: Из-за бага GeForce Experience эта настройка может не работать, если к хост-ПК подключено несколько мониторов.</translation>
</message>
<message>
<source>Capture system keyboard shortcuts while streaming in fullscreen</source>
<translation type="vanished">Erfassen von System-Tastaturkürzeln beim Streaming im Vollbildmodus</translation>
</message>
<message>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming in fullscreen.</source>
<translation type="vanished">Dies ermöglicht die Erfassung von systemweiten Tastenkombinationen wie Alt+Tab, die normalerweise vom Client beim Streamen im Vollbildmodus ausgeführt werden würden.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="955"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation>Предупреждение: некоторые комбинации клавиш, вроде Ctrl-Alt-Del, не могут быть перехвачены.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1018"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation>Использовать сенсорный экран как виртуальный тачпад</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<source>Swap left and right mouse buttons</source>
<translation>Поменять местами левую и правую кнопки мыши</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1047"/>
<source>Reverse mouse scrolling direction</source>
<translation>Колесо мыши крутит в обратном направлении</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1061"/>
<source>Gamepad Settings</source>
<translation>Настройки геймпада</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1071"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation>Поменять местами кнопки A/B и X/Y</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1089"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation>Меняет назначения кнопок в стиль Nintendo</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1095"/>
<source>Force gamepad #1 always connected</source>
<translation>Принудительно оставить геймпад 1 подключённым</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1105"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation>Хотя бы один виртуальный геймпад всегда будет &quot;подключён&quot; к хост-ПК, даже если физически к ПК-хосту не подключено ни одного.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="935"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation>Вы можете переключить эту настройку во время стрима нажатием Ctrl+Alt+Shift+M.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation>Переходить в режим управления курсором мыши удержанием кнопки &quot;Start&quot;</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1124"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation>Геймпад работает, когда окно Moonlight в фоне</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1135"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation>Позволяет захватывать ввод с геймпада, даже когда окно Moonlight неактивно</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1144"/>
<source>Host Settings</source>
<translation>Настройки ПК-хоста</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1184"/>
<source>Advanced Settings</source>
<translation>Расширенные настройки</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="646"/>
<source>Audio configuration</source>
<translation>Настройки звука</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="873"/>
<source>Show connection quality warnings</source>
<translation>Показывать предупреждения о качестве соединения</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="885"/>
<source>Discord Rich Presence integration</source>
<translation>Интеграция в Discord Rich Presence</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="895"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation>Пишет статус в Discord с названием запущенноый игры.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1106"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation>Необходимо для игр, не поддерживающих &quot;горячее&quot; подключение геймпадов.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation>Оптимизировать мышь для удалённого рабочего стола вместо игр</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="946"/>
<source>Capture system keyboard shortcuts</source>
<translation>Захватывать нажатия горячих клавиш</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation>Это включает захват комбинаций вроде Alt+Tab, которые иначе бы обычно обрабатывались операционной системой.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="984"/>
<source>in fullscreen</source>
<translation>только в режиме на весь экран</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="988"/>
<source>always</source>
<translation>всегда</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1028"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation>Если включено, сенсорный экран будет использоваться как тачпад. Если отключено, сенсорный экран будет прямо управлять курсором мыши.</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1154"/>
<source>Optimize game settings for streaming</source>
<translation>Позволить GeForce Experience оптимизировать настройки игры</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1165"/>
<source>Quit app on host PC after ending stream</source>
<translation>Завершить игру на ПК-хосте при выходе</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1175"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation>Это выйдет из игры или приложения при закрытии окна Moonlight или нажатии Ctrl+Alt+Shift+Q. Несохранённый прогресс может быть утерян!</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1194"/>
<source>Video decoder</source>
<translation>Декодер видео</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<source>Automatic (Recommended)</source>
<translation>Автоматически (рекомендуется)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1223"/>
<source>Force software decoding</source>
<translation>Программный</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1227"/>
<source>Force hardware decoding</source>
<translation>Аппаратный</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1240"/>
<source>Video codec</source>
<translation>Видеокодек</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1269"/>
<source>H.264</source>
<translation>H.264</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>HEVC (H.265)</source>
<translation>HEVC (H.265)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1290"/>
<source>Unlock unsupported FPS options</source>
<translation>Включить неподдерживаемые настройки FPS</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1309"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation>Автоматически найти ПК-хосты в локальной сети (рекомендуется)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1334"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation>Автоматически определять проблемы с подключением (рекомендуется)</translation>
</message>
</context>
<context>
<name>StreamSegue</name>
<message>
<location filename="../gui/StreamSegue.qml" line="11"/>
<source>Resuming %1...</source>
<translation>Возобновление %1...</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="12"/>
<location filename="../gui/StreamSegue.qml" line="19"/>
<source>Starting %1...</source>
<translation>Запуск %1...</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="25"/>
<source>Starting %1 failed: Error %2</source>
<translation>Не удалось начать %1: ошибка %2</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="28"/>
<source>Check your firewall and port forwarding rules for port(s): %1</source>
<translation>Проверьте настройки брандмауэра и проброса портов для следующих портов: %1</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="74"/>
<source>This PC&apos;s Internet connection is blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation>Интернет-соединение этого ПК блокирует Moonlight. Стриминг через интернет может не работать.</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="161"/>
<source>Tip:</source>
<translation>Совет:</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="161"/>
<source>Press %1 to disconnect your session</source>
<translation>Нажмите %1, чтобы отсоединиться</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
<source>Start+Select+L1+R1</source>
<translation>Start+Select+L1+R1</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
<source>Ctrl+Alt+Shift+Q</source>
<translation>Ctrl+Alt+Shift+Q</translation>
</message>
</context>
<context>
<name>main</name>
<message>
<location filename="../gui/main.qml" line="254"/>
<location filename="../gui/main.qml" line="264"/>
<location filename="../gui/main.qml" line="393"/>
<location filename="../gui/main.qml" line="408"/>
<source>Settings</source>
<translation>Настройки</translation>
</message>
<message>
<location filename="../gui/main.qml" line="255"/>
<source>Version %1</source>
<translation>Версия %1</translation>
</message>
<message>
<location filename="../gui/main.qml" line="271"/>
<source>Join our community on Discord</source>
<translation>Присоединитесь к нашему Discord (на английском)</translation>
</message>
<message>
<location filename="../gui/main.qml" line="283"/>
<source>Computers</source>
<translation>Компьютеры</translation>
</message>
<message>
<location filename="../gui/main.qml" line="290"/>
<source>Add PC manually</source>
<translation>Добавить ПК вручную</translation>
</message>
<message>
<location filename="../gui/main.qml" line="330"/>
<source>Update available for Moonlight: Version %1</source>
<translation>Обновление Moonlight доступно: версия %1</translation>
</message>
<message>
<location filename="../gui/main.qml" line="377"/>
<source>Gamepad Mapper</source>
<translation>Назначения кнопок геймпада</translation>
</message>
<message>
<location filename="../gui/main.qml" line="381"/>
<source>Gamepad Mapping</source>
<translation>Назначение кнопок геймпада</translation>
</message>
<message>
<location filename="../gui/main.qml" line="415"/>
<source>No functioning hardware accelerated H.264 video decoder was detected by Moonlight. Your streaming performance may be severely degraded in this configuration.</source>
<translation>Moonlight не может найти декодер для H.264. Программное декодирование может быть намного медленнее.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="423"/>
<source>Hardware acceleration doesn&apos;t work on XWayland. Continuing on XWayland may result in poor streaming performance. Try running with QT_QPA_PLATFORM=wayland or switch to X11.</source>
<translation>Аппаратное ускорение не работает с XWayland. Попробуйте переключиться на X11 или добавьте параметр &quot;QT_QPA_PLATFORM=wayland&quot;.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="432"/>
<source>This version of Moonlight isn&apos;t optimized for your PC. Please download the &apos;%1&apos; version of Moonlight for the best streaming performance.</source>
<translation>Эта версия Moonlight не оптимизирована для Вашего ПК. Пожалуйста, установите &quot;%1&quot; для лучшей производительности.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="441"/>
<source>Moonlight detected gamepads without a mapping:</source>
<translation>Moonilght обнаружил геймпады без настроек:</translation>
</message>
<message>
<location filename="../gui/main.qml" line="354"/>
<source>Help</source>
<translation>Помощь</translation>
</message>
<message>
<location filename="../gui/main.qml" line="417"/>
<source>Click the Help button for more information on solving this problem.</source>
<translation>Нажмите кнопку Помощь, чтобы увидеть способы решения проблемы.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="425"/>
<source>Click the Help button for more information.</source>
<translation>Нажмите кнопку Помощь, чтобы увидеть больше информации.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="443"/>
<source>Click the Help button for information on how to map your gamepads.</source>
<translation>Нажмите кнопку Помощь, чтобы узнать, как настроить геймпад.</translation>
</message>
<message>
<location filename="../gui/main.qml" line="451"/>
<source>Are you sure you want to quit?</source>
<translation>Вы уверены, что хотите выйти?</translation>
</message>
<message>
<location filename="../gui/main.qml" line="481"/>
<source>Enter the IP address of your GameStream PC:</source>
<translation>Введите IP-адрес компьютера с включённым NVIDIA GameStream:</translation>
</message>
</context>
</TS>
Binary file not shown.
+108 -98
View File
@@ -171,57 +171,62 @@
<translation></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="242"/>
<location filename="../gui/PcView.qml" line="224"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="247"/>
<source>You cannot pair while a previous session is still running on the host PC. Quit any running games or reboot the host PC, then try pairing again.</source>
<translation>退</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="297"/>
<location filename="../gui/PcView.qml" line="302"/>
<source>Please enter %1 on your GameStream PC. This dialog will close when pairing is completed.</source>
<translation> GameStream %1</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="308"/>
<location filename="../gui/PcView.qml" line="313"/>
<source>Are you sure you want to remove this PC?</source>
<translation></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="325"/>
<location filename="../gui/PcView.qml" line="330"/>
<source>Moonlight is testing your network connection to determine if NVIDIA GameStream is blocked.</source>
<translation>Moonlight NVIDIA GameStream </translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="325"/>
<location filename="../gui/PcView.qml" line="330"/>
<source>This may take a few seconds</source>
<translation>...</translation>
<translation></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="332"/>
<location filename="../gui/PcView.qml" line="337"/>
<source>The network test could not be performed because none of Moonlight&apos;s connection testing servers were reachable from this PC. Check your Internet connection or try again later.</source>
<translation>访 Moonlight </translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="336"/>
<location filename="../gui/PcView.qml" line="341"/>
<source>This network does not appear to be blocking Moonlight. If you still have trouble connecting, check your PC&apos;s firewall settings.</source>
<translation> Moonlight</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="336"/>
<location filename="../gui/PcView.qml" line="341"/>
<source>If you are trying to stream over the Internet, install the Moonlight Internet Hosting Tool on your gaming PC and run the included Internet Streaming Tester to check your gaming PC&apos;s Internet connection.</source>
<translation> Moonlight Internet Hosting </translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="340"/>
<location filename="../gui/PcView.qml" line="345"/>
<source>Your PC&apos;s current network connection seems to be blocking Moonlight. Streaming over the Internet may not work while connected to this network.</source>
<translation></translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="340"/>
<location filename="../gui/PcView.qml" line="345"/>
<source>The following network ports were blocked:</source>
<translation>:</translation>
</message>
<message>
<location filename="../gui/PcView.qml" line="352"/>
<location filename="../gui/PcView.qml" line="357"/>
<source>Enter the new name for this PC:</source>
<translation>:</translation>
</message>
@@ -229,7 +234,7 @@
<context>
<name>PendingQuitTask</name>
<message>
<location filename="../backend/computermanager.cpp" line="538"/>
<location filename="../backend/computermanager.cpp" line="542"/>
<source>The running game wasn&apos;t started by this PC. You must quit the game on the host PC manually or use the device that originally started the game.</source>
<translation>退使</translation>
</message>
@@ -306,107 +311,112 @@
<translation></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="578"/>
<location filename="../streaming/session.cpp" line="592"/>
<source>The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="597"/>
<source>Your selection to enable remote desktop mouse mode may cause problems in games.</source>
<translation></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="583"/>
<location filename="../streaming/session.cpp" line="602"/>
<source>HDR is not supported with software decoding.</source>
<translation> HDR</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="587"/>
<location filename="../streaming/session.cpp" line="606"/>
<source>Your settings selection to force software decoding may cause poor streaming performance.</source>
<translation></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="592"/>
<location filename="../streaming/session.cpp" line="611"/>
<source>Using unsupported FPS options may cause stuttering or lag.</source>
<translation>使 FPS </translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="595"/>
<location filename="../streaming/session.cpp" line="614"/>
<source>V-sync will be disabled when streaming at a higher frame rate than the display.</source>
<translation></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="612"/>
<location filename="../streaming/session.cpp" line="631"/>
<source>Using software decoding due to your selection to force HEVC without GPU support. This may cause poor streaming performance.</source>
<translation>使 HEVC</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="615"/>
<location filename="../streaming/session.cpp" line="634"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC decoding.</source>
<translation> HEVC </translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="622"/>
<location filename="../streaming/session.cpp" line="641"/>
<source>Your host PC GPU doesn&apos;t support HEVC. A GeForce GTX 900-series (Maxwell) or later GPU is required for HEVC streaming.</source>
<translation> HEVC</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="639"/>
<location filename="../streaming/session.cpp" line="658"/>
<source>%1 doesn&apos;t support HDR10.</source>
<translation>%1 HDR10</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="643"/>
<location filename="../streaming/session.cpp" line="662"/>
<source>Your host PC GPU doesn&apos;t support HDR streaming. A GeForce GTX 1000-series (Pascal) or later GPU is required for HDR streaming.</source>
<translation> HDR </translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="652"/>
<location filename="../streaming/session.cpp" line="671"/>
<source>This PC&apos;s GPU doesn&apos;t support HEVC Main10 decoding for HDR streaming.</source>
<translation> HEVC Main10 HDR </translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="665"/>
<location filename="../streaming/session.cpp" line="684"/>
<source>GeForce Experience 3.0 or higher is required for 4K streaming.</source>
<translation>4K GeForce Experience 3.0 </translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="680"/>
<location filename="../streaming/session.cpp" line="699"/>
<source>Your selected surround sound setting is not supported by the current audio device.</source>
<translation></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="687"/>
<location filename="../streaming/session.cpp" line="706"/>
<source>Failed to open audio device. Audio will be unavailable during this session.</source>
<translation></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="692"/>
<location filename="../streaming/session.cpp" line="711"/>
<source>An attached gamepad has no mapping and won&apos;t be usable. Visit the Moonlight help to resolve this.</source>
<translation>使访 Moonlight </translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="700"/>
<location filename="../streaming/session.cpp" line="719"/>
<source>Your host PC&apos;s GPU doesn&apos;t support streaming video resolutions over 4K.</source>
<translation> 4K </translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="704"/>
<location filename="../streaming/session.cpp" line="723"/>
<source>Video resolutions over 4K are only supported by the HEVC codec.</source>
<translation> HEVC 4K </translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="718"/>
<location filename="../streaming/session.cpp" line="737"/>
<source>Your selection to force hardware decoding cannot be satisfied due to missing hardware decoding support on this PC&apos;s GPU.</source>
<translation></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="721"/>
<location filename="../streaming/session.cpp" line="740"/>
<source>Your codec selection and force hardware decoding setting are not compatible. This PC&apos;s GPU lacks support for decoding your chosen codec.</source>
<translation></translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1022"/>
<location filename="../streaming/session.cpp" line="1041"/>
<source>GeForce Experience returned error: %1</source>
<translation>GeForce Experience : %1</translation>
</message>
<message>
<location filename="../streaming/session.cpp" line="1445"/>
<location filename="../streaming/session.cpp" line="1519"/>
<source>Unable to initialize video decoder. Please check your streaming settings and try again.</source>
<translation></translation>
</message>
@@ -436,22 +446,22 @@
<message>
<location filename="../gui/SettingsView.qml" line="209"/>
<source>720p</source>
<translation></translation>
<translation>720p</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="215"/>
<source>1080p</source>
<translation></translation>
<translation>1080p</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="221"/>
<source>1440p</source>
<translation></translation>
<translation>1440p</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="227"/>
<source>4K</source>
<translation></translation>
<translation>4K</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="331"/>
@@ -474,7 +484,7 @@
<location filename="../gui/SettingsView.qml" line="427"/>
<location filename="../gui/SettingsView.qml" line="430"/>
<source>%1 FPS</source>
<translation></translation>
<translation>%1 FPS</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="412"/>
@@ -512,7 +522,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="573"/>
<location filename="../gui/SettingsView.qml" line="847"/>
<location filename="../gui/SettingsView.qml" line="860"/>
<source>Fullscreen</source>
<translation></translation>
</message>
@@ -523,7 +533,7 @@
</message>
<message>
<location filename="../gui/SettingsView.qml" line="581"/>
<location filename="../gui/SettingsView.qml" line="839"/>
<location filename="../gui/SettingsView.qml" line="852"/>
<source>Windowed</source>
<translation></translation>
</message>
@@ -605,77 +615,77 @@
<message>
<location filename="../gui/SettingsView.qml" line="739"/>
<source>Language</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="765"/>
<source>Automatic</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="792"/>
<location filename="../gui/SettingsView.qml" line="805"/>
<source>You must restart Moonlight for this change to take effect</source>
<translation type="unfinished"></translation>
<translation> Moonlight 使</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="806"/>
<location filename="../gui/SettingsView.qml" line="819"/>
<source>GUI display mode</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="843"/>
<location filename="../gui/SettingsView.qml" line="856"/>
<source>Maximized</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="860"/>
<location filename="../gui/SettingsView.qml" line="873"/>
<source>Show connection quality warnings</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="872"/>
<location filename="../gui/SettingsView.qml" line="885"/>
<source>Discord Rich Presence integration</source>
<translation>Discord Rich Presence </translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="882"/>
<location filename="../gui/SettingsView.qml" line="895"/>
<source>Updates your Discord status to display the name of the game you&apos;re streaming.</source>
<translation> Discord </translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="900"/>
<location filename="../gui/SettingsView.qml" line="913"/>
<source>Input Settings</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="911"/>
<location filename="../gui/SettingsView.qml" line="924"/>
<source>Optimize mouse for remote desktop instead of games</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="922"/>
<location filename="../gui/SettingsView.qml" line="934"/>
<source>This enables seamless mouse control without capturing the client&apos;s mouse cursor. It is ideal for remote desktop usage but will not work in most games.</source>
<translation>使</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="923"/>
<location filename="../gui/SettingsView.qml" line="935"/>
<source>You can toggle this while streaming using Ctrl+Alt+Shift+M.</source>
<translation>使 Ctrl+Alt+Shift+M </translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="924"/>
<location filename="../gui/SettingsView.qml" line="936"/>
<source>NOTE: Due to a bug in GeForce Experience, this option may not work properly if your host PC has multiple monitors.</source>
<translation> GeForce Experience Bug</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="934"/>
<location filename="../gui/SettingsView.qml" line="946"/>
<source>Capture system keyboard shortcuts</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="942"/>
<location filename="../gui/SettingsView.qml" line="954"/>
<source>This enables the capture of system-wide keyboard shortcuts like Alt+Tab that would normally be handled by the client OS while streaming.</source>
<translation type="unfinished"></translation>
<translation> Alt + Tab</translation>
</message>
<message>
<source>Capture system keyboard shortcuts while streaming in fullscreen</source>
@@ -686,158 +696,158 @@
<translation type="vanished">Alt+Tab</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="943"/>
<location filename="../gui/SettingsView.qml" line="955"/>
<source>NOTE: Certain keyboard shortcuts like Ctrl+Alt+Del on Windows cannot be intercepted by any application, including Moonlight.</source>
<translation>Windows Ctrl+Alt+Del Moonlight</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="972"/>
<location filename="../gui/SettingsView.qml" line="984"/>
<source>in fullscreen</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="976"/>
<location filename="../gui/SettingsView.qml" line="988"/>
<source>always</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1006"/>
<location filename="../gui/SettingsView.qml" line="1018"/>
<source>Use touchscreen as a virtual trackpad</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1016"/>
<location filename="../gui/SettingsView.qml" line="1028"/>
<source>When checked, the touchscreen acts like a trackpad. When unchecked, the touchscreen will directly control the mouse pointer.</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1023"/>
<location filename="../gui/SettingsView.qml" line="1035"/>
<source>Swap left and right mouse buttons</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1035"/>
<location filename="../gui/SettingsView.qml" line="1047"/>
<source>Reverse mouse scrolling direction</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1049"/>
<location filename="../gui/SettingsView.qml" line="1061"/>
<source>Gamepad Settings</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1059"/>
<location filename="../gui/SettingsView.qml" line="1071"/>
<source>Swap A/B and X/Y gamepad buttons</source>
<translation> A/B X/Y </translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1077"/>
<location filename="../gui/SettingsView.qml" line="1089"/>
<source>This switches gamepads into a Nintendo-style button layout</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1083"/>
<location filename="../gui/SettingsView.qml" line="1095"/>
<source>Force gamepad #1 always connected</source>
<translation> #1 </translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1093"/>
<location filename="../gui/SettingsView.qml" line="1105"/>
<source>Forces a single gamepad to always stay connected to the host, even if no gamepads are actually connected to this PC.</source>
<translation>使</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1094"/>
<location filename="../gui/SettingsView.qml" line="1106"/>
<source>Only enable this option when streaming a game that doesn&apos;t support gamepads being connected after startup.</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1101"/>
<location filename="../gui/SettingsView.qml" line="1113"/>
<source>Enable mouse control with gamepads by holding the &apos;Start&apos; button</source>
<translation>Start</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1112"/>
<location filename="../gui/SettingsView.qml" line="1124"/>
<source>Process gamepad input when Moonlight is in the background</source>
<translation> Moonlight </translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1123"/>
<location filename="../gui/SettingsView.qml" line="1135"/>
<source>Allows Moonlight to capture gamepad inputs even if it&apos;s not the current window in focus</source>
<translation>使 Moonlight </translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1132"/>
<location filename="../gui/SettingsView.qml" line="1144"/>
<source>Host Settings</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1142"/>
<location filename="../gui/SettingsView.qml" line="1154"/>
<source>Optimize game settings for streaming</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1153"/>
<location filename="../gui/SettingsView.qml" line="1165"/>
<source>Quit app on host PC after ending stream</source>
<translation>退</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1163"/>
<location filename="../gui/SettingsView.qml" line="1175"/>
<source>This will close the app or game you are streaming when you end your stream. You will lose any unsaved progress!</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1172"/>
<location filename="../gui/SettingsView.qml" line="1184"/>
<source>Advanced Settings</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1182"/>
<location filename="../gui/SettingsView.qml" line="1194"/>
<source>Video decoder</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1207"/>
<location filename="../gui/SettingsView.qml" line="1253"/>
<location filename="../gui/SettingsView.qml" line="1219"/>
<location filename="../gui/SettingsView.qml" line="1265"/>
<source>Automatic (Recommended)</source>
<translation> ()</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1211"/>
<location filename="../gui/SettingsView.qml" line="1223"/>
<source>Force software decoding</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1215"/>
<location filename="../gui/SettingsView.qml" line="1227"/>
<source>Force hardware decoding</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1228"/>
<location filename="../gui/SettingsView.qml" line="1240"/>
<source>Video codec</source>
<translation></translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1257"/>
<location filename="../gui/SettingsView.qml" line="1269"/>
<source>H.264</source>
<translation></translation>
<translation>H.264</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1261"/>
<location filename="../gui/SettingsView.qml" line="1273"/>
<source>HEVC (H.265)</source>
<translation></translation>
<translation>HEVC (H.265)</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1278"/>
<location filename="../gui/SettingsView.qml" line="1290"/>
<source>Unlock unsupported FPS options</source>
<translation> FPS </translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1297"/>
<location filename="../gui/SettingsView.qml" line="1309"/>
<source>Automatically find PCs on the local network (Recommended)</source>
<translation> ()</translation>
</message>
<message>
<location filename="../gui/SettingsView.qml" line="1322"/>
<location filename="../gui/SettingsView.qml" line="1334"/>
<source>Automatically detect blocked connections (Recommended)</source>
<translation> ()</translation>
</message>
@@ -858,7 +868,7 @@
<message>
<location filename="../gui/StreamSegue.qml" line="25"/>
<source>Starting %1 failed: Error %2</source>
<translation> %1 错误: 错误 %2</translation>
<translation> %1 失败: 错误 %2</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="28"/>
@@ -883,12 +893,12 @@
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
<source>Start+Select+L1+R1</source>
<translation></translation>
<translation>Start+Select+L1+R1</translation>
</message>
<message>
<location filename="../gui/StreamSegue.qml" line="162"/>
<source>Ctrl+Alt+Shift+Q</source>
<translation></translation>
<translation>Ctrl+Alt+Shift+Q</translation>
</message>
</context>
<context>
+10 -2
View File
@@ -23,12 +23,20 @@
<file>languages/qml_fr.qm</file>
<file>languages/qml_zh_cn.ts</file>
<file>languages/qml_zh_cn.qm</file>
<file>languages/qml_nb_NO.ts</file>
<file>languages/qml_nb_NO.qm</file>
<file>languages/qml_ru.ts</file>
<file>languages/qml_ru.qm</file>
<file>languages/qml_es.ts</file>
<file>languages/qml_es.qm</file>
</qresource>
<qresource prefix="/data">
<file alias="gamecontrollerdb.txt">SDL_GameControllerDB/gamecontrollerdb.txt</file>
<file alias="ModeSeven.ttf">ModeSeven.ttf</file>
<file alias="egl.frag">shaders/egl.frag</file>
<file alias="egl.vert">shaders/egl.vert</file>
<file alias="egl_nv12.frag">shaders/egl_nv12.frag</file>
<file alias="egl_nv12.vert">shaders/egl_nv12.vert</file>
<file alias="egl_opaque.frag">shaders/egl_opaque.frag</file>
<file alias="egl_opaque.vert">shaders/egl_opaque.vert</file>
<file alias="egl_overlay.frag">shaders/egl_overlay.frag</file>
<file alias="egl_overlay.vert">shaders/egl_overlay.vert</file>
</qresource>
+112
View File
@@ -0,0 +1,112 @@
#include "compatfetcher.h"
#include "path.h"
#include <QNetworkReply>
#include <QSettings>
#define COMPAT_VERSION "v1"
#define COMPAT_KEY "latestsupportedversion-"
CompatFetcher::CompatFetcher(QObject *parent) :
QObject(parent),
m_Nam(this)
{
// Never communicate over HTTP
m_Nam.setStrictTransportSecurityEnabled(true);
// Allow HTTP redirects
m_Nam.setRedirectPolicy(QNetworkRequest::NoLessSafeRedirectPolicy);
connect(&m_Nam, &QNetworkAccessManager::finished,
this, &CompatFetcher::handleCompatInfoFetched);
}
void CompatFetcher::start()
{
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) && QT_VERSION < QT_VERSION_CHECK(5, 15, 1) && !defined(QT_NO_BEARERMANAGEMENT)
// HACK: Set network accessibility to work around QTBUG-80947 (introduced in Qt 5.14.0 and fixed in Qt 5.15.1)
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
m_Nam.setNetworkAccessible(QNetworkAccessManager::Accessible);
QT_WARNING_POP
#endif
QUrl url("https://moonlight-stream.org/compatibility/" COMPAT_VERSION);
QNetworkRequest request(url);
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
request.setAttribute(QNetworkRequest::Http2AllowedAttribute, true);
#else
request.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, true);
#endif
// We'll get a callback when this is finished
m_Nam.get(request);
}
bool CompatFetcher::isGfeVersionSupported(QString gfeVersion)
{
QSettings settings;
if (gfeVersion.isEmpty()) {
// If we don't have a GFE version, just allow it
return true;
}
QString latestSupportedVersion = settings.value(COMPAT_KEY COMPAT_VERSION).toString();
if (latestSupportedVersion.isEmpty()) {
// We don't have compat data yet, so just assume it's supported
return true;
}
QStringList latestSupportedVersionQuad = latestSupportedVersion.split('.');
QStringList gfeVersionQuad = gfeVersion.split('.');
for (int i = 0;; i++) {
int actualVerVal = 0;
int latestSupportedVal = 0;
// Treat missing decimal places as 0
if (i < gfeVersionQuad.count()) {
actualVerVal = gfeVersionQuad[i].toInt();
}
if (i < latestSupportedVersionQuad.count()) {
latestSupportedVal = latestSupportedVersionQuad[i].toInt();
}
if (i >= gfeVersionQuad.count() && i >= latestSupportedVersionQuad.count()) {
// Equal versions - this is fine
return true;
}
if (actualVerVal < latestSupportedVal) {
// Actual version is lower than latest supported - this is fine
return true;
}
else if (actualVerVal > latestSupportedVal) {
// Actual version is greater than latest supported - this is bad
return false;
}
}
}
void CompatFetcher::handleCompatInfoFetched(QNetworkReply* reply)
{
Q_ASSERT(reply->isFinished());
if (reply->error() == QNetworkReply::NoError) {
// Queue the reply for deletion
reply->deleteLater();
QString version = QString(reply->readAll()).trimmed();
QSettings settings;
settings.setValue(COMPAT_KEY COMPAT_VERSION, version);
qInfo() << "Latest supported GFE server:" << version;
}
else {
qWarning() << "Failed to download latest compatibility data:" << reply->error();
reply->deleteLater();
}
}
+22
View File
@@ -0,0 +1,22 @@
#pragma once
#include <QObject>
#include <QNetworkAccessManager>
class CompatFetcher : public QObject
{
Q_OBJECT
public:
explicit CompatFetcher(QObject *parent = nullptr);
void start();
static bool isGfeVersionSupported(QString gfeVersion);
private slots:
void handleCompatInfoFetched(QNetworkReply* reply);
private:
QNetworkAccessManager m_Nam;
};
+6
View File
@@ -189,6 +189,12 @@ QString StreamingPreferences::getSuffixFromLanguage(StreamingPreferences::Langua
return "fr";
case LANG_ZH_CN:
return "zh_cn";
case LANG_NB_NO:
return "nb_NO";
case LANG_RU:
return "ru";
case LANG_ES:
return "es";
case LANG_AUTO:
default:
return QLocale::system().name();
+4 -1
View File
@@ -69,7 +69,10 @@ public:
LANG_EN,
LANG_FR,
LANG_ZH_CN,
LANG_DE
LANG_DE,
LANG_NB_NO,
LANG_RU,
LANG_ES
};
Q_ENUM(Language);
+12
View File
@@ -0,0 +1,12 @@
#version 300 es
#extension GL_OES_EGL_image_external : require
precision mediump float;
out vec4 FragColor;
in vec2 vTextCoord;
uniform samplerExternalOES uTexture;
void main() {
FragColor = texture2D(uTexture, vTextCoord);
}
+10
View File
@@ -0,0 +1,10 @@
#version 300 es
layout (location = 0) in vec2 aPosition; // 2D: X,Y
layout (location = 1) in vec2 aTexCoord;
out vec2 vTextCoord;
void main() {
vTextCoord = aTexCoord;
gl_Position = vec4(aPosition, 0, 1);
}
+9 -2
View File
@@ -372,11 +372,18 @@ void SdlInputHandler::updateKeyboardGrabState()
// Ungrab if it's fullscreen only and we left fullscreen
shouldGrab = false;
}
#ifdef Q_OS_DARWIN
else if (!(windowFlags & SDL_WINDOW_INPUT_FOCUS)) {
// Ungrab if we lose input focus (SDL will do this internally, but
// not for macOS where SDL is not handling the grab logic).
// Ungrab if we lose input focus on macOS. SDL will handle
// this internally for platforms where we use the SDL
// SDL_SetWindowKeyboardGrab() API exclusively.
//
// NB: On X11, we may not have input focus at the time of
// the initial keyboard grab update, so we must not enable
// this codepath on Linux.
shouldGrab = false;
}
#endif
// Don't close the window on Alt+F4 when keyboard grab is enabled
SDL_SetHint(SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4, shouldGrab ? "1" : "0");
+19 -3
View File
@@ -181,6 +181,11 @@ bool Session::chooseDecoder(StreamingPreferences::VideoDecoderSelection vds,
{
DECODER_PARAMETERS params;
// We should never have vsync enabled for test-mode.
// It introduces unnecessary delay for renderers that may
// block while waiting for a backbuffer swap.
SDL_assert(!enableVsync || !testOnly);
params.width = width;
params.height = height;
params.frameRate = frameRate;
@@ -292,7 +297,7 @@ void Session::getDecoderInfo(SDL_Window* window,
if (!chooseDecoder(StreamingPreferences::VDS_AUTO,
window, VIDEO_FORMAT_H264, 1920, 1080, 60,
true, false, true, decoder)) {
false, false, true, decoder)) {
isHardwareAccelerated = isFullScreenOnly = false;
return;
}
@@ -310,7 +315,7 @@ bool Session::isHardwareDecodeAvailable(SDL_Window* window,
{
IVideoDecoder* decoder;
if (!chooseDecoder(vds, window, videoFormat, width, height, frameRate, true, false, true, decoder)) {
if (!chooseDecoder(vds, window, videoFormat, width, height, frameRate, false, false, true, decoder)) {
return false;
}
@@ -332,7 +337,7 @@ bool Session::populateDecoderProperties(SDL_Window* window)
m_StreamConfig.width,
m_StreamConfig.height,
m_StreamConfig.fps,
true, false, true, decoder)) {
false, false, true, decoder)) {
return false;
}
@@ -428,6 +433,12 @@ bool Session::initialize()
m_StreamConfig.bitrate = m_Preferences->bitrateKbps;
m_StreamConfig.hevcBitratePercentageMultiplier = 75;
#ifndef STEAM_LINK
// Enable audio encryption as long as we're not on Steam Link.
// That hardware can hardly handle Opus decoding at all.
m_StreamConfig.encryptionFlags = ENCFLG_AUDIO;
#endif
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION,
"Video bitrate: %d kbps",
m_StreamConfig.bitrate);
@@ -577,6 +588,11 @@ bool Session::validateLaunch(SDL_Window* testWindow)
{
QStringList warningList;
if (!m_Computer->isSupportedServerVersion) {
emit displayLaunchError(tr("The version of GeForce Experience on %1 is not supported by this build of Moonlight. You must update Moonlight to stream from %1.").arg(m_Computer->name));
return false;
}
if (m_Preferences->absoluteMouseMode && !m_App.isAppCollectorGame) {
emitLaunchWarning(tr("Your selection to enable remote desktop mouse mode may cause problems in games."));
}
+133 -52
View File
@@ -26,6 +26,7 @@ DrmRenderer::DrmRenderer()
m_CurrentFbId(0)
{
#ifdef HAVE_EGL
m_EGLExtDmaBuf = false;
m_eglCreateImage = nullptr;
m_eglCreateImageKHR = nullptr;
m_eglDestroyImage = nullptr;
@@ -297,6 +298,8 @@ void DrmRenderer::renderFrame(AVFrame* frame)
uint32_t handles[4] = {};
uint32_t pitches[4] = {};
uint32_t offsets[4] = {};
uint64_t modifiers[4] = {};
uint32_t flags = 0;
SDL_Rect src, dst;
@@ -318,12 +321,18 @@ void DrmRenderer::renderFrame(AVFrame* frame)
return;
}
// Pass along the modifiers to DRM if there are some in the descriptor
if (drmFrame->objects[0].format_modifier != DRM_FORMAT_MOD_INVALID) {
flags |= DRM_MODE_FB_MODIFIERS;
}
SDL_assert(drmFrame->nb_layers == 1);
SDL_assert(drmFrame->layers[0].nb_planes == 2);
for (int i = 0; i < drmFrame->layers[0].nb_planes; i++) {
handles[i] = primeHandle;
pitches[i] = drmFrame->layers[0].planes[i].pitch;
offsets[i] = drmFrame->layers[0].planes[i].offset;
modifiers[i] = drmFrame->objects[0].format_modifier;
}
// Remember the last FB object we created so we can free it
@@ -331,12 +340,15 @@ void DrmRenderer::renderFrame(AVFrame* frame)
uint32_t lastFbId = m_CurrentFbId;
// Create a frame buffer object from the PRIME buffer
err = drmModeAddFB2(m_DrmFd, frame->width, frame->height,
drmFrame->layers[0].format,
handles, pitches, offsets, &m_CurrentFbId, 0);
// NB: It is an error to pass modifiers without DRM_MODE_FB_MODIFIERS set.
err = drmModeAddFB2WithModifiers(m_DrmFd, frame->width, frame->height,
drmFrame->layers[0].format,
handles, pitches, offsets,
(flags & DRM_MODE_FB_MODIFIERS) ? modifiers : NULL,
&m_CurrentFbId, flags);
if (err < 0) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
"drmModeAddFB2() failed: %d",
"drmModeAddFB2WithModifiers() failed: %d",
errno);
m_CurrentFbId = lastFbId;
return;
@@ -387,7 +399,8 @@ bool DrmRenderer::canExportEGL() {
}
AVPixelFormat DrmRenderer::getEGLImagePixelFormat() {
return AV_PIX_FMT_NV12;
// This tells EGLRenderer to treat the EGLImage as a single opaque texture
return AV_PIX_FMT_DRM_PRIME;
}
bool DrmRenderer::initializeEGL(EGLDisplay,
@@ -398,6 +411,8 @@ bool DrmRenderer::initializeEGL(EGLDisplay,
return false;
}
m_EGLExtDmaBuf = ext.isSupported("EGL_EXT_image_dma_buf_import_modifiers");
// NB: eglCreateImage() and eglCreateImageKHR() have slightly different definitions
m_eglCreateImage = (typeof(m_eglCreateImage))eglGetProcAddress("eglCreateImage");
m_eglCreateImageKHR = (typeof(m_eglCreateImageKHR))eglGetProcAddress("eglCreateImageKHR");
@@ -416,61 +431,125 @@ bool DrmRenderer::initializeEGL(EGLDisplay,
ssize_t DrmRenderer::exportEGLImages(AVFrame *frame, EGLDisplay dpy,
EGLImage images[EGL_MAX_PLANES]) {
ssize_t count = 0;
AVDRMFrameDescriptor* drmFrame = (AVDRMFrameDescriptor*)frame->data[0];
memset(images, 0, sizeof(EGLImage) * EGL_MAX_PLANES);
SDL_assert(drmFrame->nb_objects == 1);
SDL_assert(drmFrame->nb_layers == 1);
SDL_assert(drmFrame->layers[0].nb_planes == 2);
// Max 30 attributes (1 key + 1 value for each)
const int MAX_ATTRIB_COUNT = 30 * 2;
EGLAttrib attribs[MAX_ATTRIB_COUNT] = {
EGL_LINUX_DRM_FOURCC_EXT, (EGLAttrib)drmFrame->layers[0].format,
EGL_WIDTH, frame->width,
EGL_HEIGHT, frame->height,
};
int attribIndex = 6;
for (int i = 0; i < drmFrame->layers[0].nb_planes; ++i) {
const auto &plane = drmFrame->layers[0].planes[i];
const auto &object = drmFrame->objects[plane.object_index];
const int EGL_ATTRIB_COUNT = 13;
EGLAttrib attribs[EGL_ATTRIB_COUNT] = {
EGL_LINUX_DRM_FOURCC_EXT, i == 0 ? DRM_FORMAT_R8 : DRM_FORMAT_GR88,
EGL_WIDTH, i == 0 ? frame->width : frame->width / 2,
EGL_HEIGHT, i == 0 ? frame->height : frame->height / 2,
EGL_DMA_BUF_PLANE0_FD_EXT, object.fd,
EGL_DMA_BUF_PLANE0_OFFSET_EXT, plane.offset,
EGL_DMA_BUF_PLANE0_PITCH_EXT, plane.pitch,
EGL_NONE
};
if (m_eglCreateImage) {
images[i] = m_eglCreateImage(dpy, EGL_NO_CONTEXT,
EGL_LINUX_DMA_BUF_EXT,
nullptr, attribs);
if (!images[i]) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
"eglCreateImage() Failed: %d", eglGetError());
goto fail;
switch (i) {
case 0:
attribs[attribIndex++] = EGL_DMA_BUF_PLANE0_FD_EXT;
attribs[attribIndex++] = object.fd;
attribs[attribIndex++] = EGL_DMA_BUF_PLANE0_OFFSET_EXT;
attribs[attribIndex++] = plane.offset;
attribs[attribIndex++] = EGL_DMA_BUF_PLANE0_PITCH_EXT;
attribs[attribIndex++] = plane.pitch;
if (m_EGLExtDmaBuf && object.format_modifier != DRM_FORMAT_MOD_INVALID) {
attribs[attribIndex++] = EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT;
attribs[attribIndex++] = (EGLint)(object.format_modifier & 0xFFFFFFFF);
attribs[attribIndex++] = EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT;
attribs[attribIndex++] = (EGLint)(object.format_modifier >> 32);
}
break;
case 1:
attribs[attribIndex++] = EGL_DMA_BUF_PLANE1_FD_EXT;
attribs[attribIndex++] = object.fd;
attribs[attribIndex++] = EGL_DMA_BUF_PLANE1_OFFSET_EXT;
attribs[attribIndex++] = plane.offset;
attribs[attribIndex++] = EGL_DMA_BUF_PLANE1_PITCH_EXT;
attribs[attribIndex++] = plane.pitch;
if (m_EGLExtDmaBuf && object.format_modifier != DRM_FORMAT_MOD_INVALID) {
attribs[attribIndex++] = EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT;
attribs[attribIndex++] = (EGLint)(object.format_modifier & 0xFFFFFFFF);
attribs[attribIndex++] = EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT;
attribs[attribIndex++] = (EGLint)(object.format_modifier >> 32);
}
break;
case 2:
attribs[attribIndex++] = EGL_DMA_BUF_PLANE2_FD_EXT;
attribs[attribIndex++] = object.fd;
attribs[attribIndex++] = EGL_DMA_BUF_PLANE2_OFFSET_EXT;
attribs[attribIndex++] = plane.offset;
attribs[attribIndex++] = EGL_DMA_BUF_PLANE2_PITCH_EXT;
attribs[attribIndex++] = plane.pitch;
if (m_EGLExtDmaBuf && object.format_modifier != DRM_FORMAT_MOD_INVALID) {
attribs[attribIndex++] = EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT;
attribs[attribIndex++] = (EGLint)(object.format_modifier & 0xFFFFFFFF);
attribs[attribIndex++] = EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT;
attribs[attribIndex++] = (EGLint)(object.format_modifier >> 32);
}
break;
case 3:
attribs[attribIndex++] = EGL_DMA_BUF_PLANE3_FD_EXT;
attribs[attribIndex++] = object.fd;
attribs[attribIndex++] = EGL_DMA_BUF_PLANE3_OFFSET_EXT;
attribs[attribIndex++] = plane.offset;
attribs[attribIndex++] = EGL_DMA_BUF_PLANE3_PITCH_EXT;
attribs[attribIndex++] = plane.pitch;
if (m_EGLExtDmaBuf && object.format_modifier != DRM_FORMAT_MOD_INVALID) {
attribs[attribIndex++] = EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT;
attribs[attribIndex++] = (EGLint)(object.format_modifier & 0xFFFFFFFF);
attribs[attribIndex++] = EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT;
attribs[attribIndex++] = (EGLint)(object.format_modifier >> 32);
}
break;
default:
Q_UNREACHABLE();
}
else {
// Cast the EGLAttrib array elements to EGLint for the KHR extension
EGLint intAttribs[EGL_ATTRIB_COUNT];
for (int i = 0; i < EGL_ATTRIB_COUNT; i++) {
intAttribs[i] = (EGLint)attribs[i];
}
images[i] = m_eglCreateImageKHR(dpy, EGL_NO_CONTEXT,
EGL_LINUX_DMA_BUF_EXT,
nullptr, intAttribs);
if (!images[i]) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
"eglCreateImageKHR() Failed: %d", eglGetError());
goto fail;
}
}
++count;
}
return count;
// Terminate the attribute list
attribs[attribIndex++] = EGL_NONE;
SDL_assert(attribIndex <= MAX_ATTRIB_COUNT);
// Our EGLImages are non-planar, so we only populate the first entry
if (m_eglCreateImage) {
images[0] = m_eglCreateImage(dpy, EGL_NO_CONTEXT,
EGL_LINUX_DMA_BUF_EXT,
nullptr, attribs);
if (!images[0]) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
"eglCreateImage() Failed: %d", eglGetError());
goto fail;
}
}
else {
// Cast the EGLAttrib array elements to EGLint for the KHR extension
EGLint intAttribs[MAX_ATTRIB_COUNT];
for (int i = 0; i < MAX_ATTRIB_COUNT; i++) {
intAttribs[i] = (EGLint)attribs[i];
}
images[0] = m_eglCreateImageKHR(dpy, EGL_NO_CONTEXT,
EGL_LINUX_DMA_BUF_EXT,
nullptr, intAttribs);
if (!images[0]) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
"eglCreateImageKHR() Failed: %d", eglGetError());
goto fail;
}
}
return 1;
fail:
freeEGLImages(dpy, images);
@@ -478,14 +557,16 @@ fail:
}
void DrmRenderer::freeEGLImages(EGLDisplay dpy, EGLImage images[EGL_MAX_PLANES]) {
for (size_t i = 0; i < EGL_MAX_PLANES; ++i) {
if (m_eglDestroyImage) {
m_eglDestroyImage(dpy, images[i]);
}
else {
m_eglDestroyImageKHR(dpy, images[i]);
}
if (m_eglDestroyImage) {
m_eglDestroyImage(dpy, images[0]);
}
else {
m_eglDestroyImageKHR(dpy, images[0]);
}
// Our EGLImages are non-planar
SDL_assert(images[1] == 0);
SDL_assert(images[2] == 0);
}
#endif
@@ -35,6 +35,7 @@ private:
SDL_Rect m_OutputRect;
#ifdef HAVE_EGL
bool m_EGLExtDmaBuf;
PFNEGLCREATEIMAGEPROC m_eglCreateImage;
PFNEGLDESTROYIMAGEPROC m_eglDestroyImage;
PFNEGLCREATEIMAGEKHRPROC m_eglCreateImageKHR;
+53 -14
View File
@@ -250,7 +250,7 @@ void EGLRenderer::renderOverlay(Overlay::OverlayType type)
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, m_OverlayTextures[type]);
glUniform1i(m_OverlayShaderProgramParams[PARAM_TEXTURE], 0);
glUniform1i(m_OverlayShaderProgramParams[OVERLAY_PARAM_TEXTURE], 0);
glDrawArrays(GL_TRIANGLES, 0, 6);
}
@@ -373,24 +373,39 @@ bool EGLRenderer::compileShaders() {
SDL_assert(m_EGLImagePixelFormat != AV_PIX_FMT_NONE);
// XXX: TODO: other formats
SDL_assert(m_EGLImagePixelFormat == AV_PIX_FMT_NV12);
if (m_EGLImagePixelFormat == AV_PIX_FMT_NV12) {
m_ShaderProgram = compileShader("egl_nv12.vert", "egl_nv12.frag");
if (!m_ShaderProgram) {
return false;
}
m_ShaderProgram = compileShader("egl.vert", "egl.frag");
if (!m_ShaderProgram) {
m_ShaderProgramParams[NV12_PARAM_YUVMAT] = glGetUniformLocation(m_ShaderProgram, "yuvmat");
m_ShaderProgramParams[NV12_PARAM_OFFSET] = glGetUniformLocation(m_ShaderProgram, "offset");
m_ShaderProgramParams[NV12_PARAM_PLANE1] = glGetUniformLocation(m_ShaderProgram, "plane1");
m_ShaderProgramParams[NV12_PARAM_PLANE2] = glGetUniformLocation(m_ShaderProgram, "plane2");
}
else if (m_EGLImagePixelFormat == AV_PIX_FMT_DRM_PRIME) {
m_ShaderProgram = compileShader("egl_opaque.vert", "egl_opaque.frag");
if (!m_ShaderProgram) {
return false;
}
m_ShaderProgramParams[OPAQUE_PARAM_TEXTURE] = glGetUniformLocation(m_ShaderProgram, "uTexture");
}
else {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
"Unsupported EGL pixel format: %d",
m_EGLImagePixelFormat);
SDL_assert(false);
return false;
}
m_ShaderProgramParams[PARAM_YUVMAT] = glGetUniformLocation(m_ShaderProgram, "yuvmat");
m_ShaderProgramParams[PARAM_OFFSET] = glGetUniformLocation(m_ShaderProgram, "offset");
m_ShaderProgramParams[PARAM_PLANE1] = glGetUniformLocation(m_ShaderProgram, "plane1");
m_ShaderProgramParams[PARAM_PLANE2] = glGetUniformLocation(m_ShaderProgram, "plane2");
m_OverlayShaderProgram = compileShader("egl_overlay.vert", "egl_overlay.frag");
if (!m_OverlayShaderProgram) {
return false;
}
m_OverlayShaderProgramParams[PARAM_TEXTURE] = glGetUniformLocation(m_OverlayShaderProgram, "uTexture");
m_OverlayShaderProgramParams[OVERLAY_PARAM_TEXTURE] = glGetUniformLocation(m_OverlayShaderProgram, "uTexture");
return true;
}
@@ -778,10 +793,16 @@ void EGLRenderer::renderFrame(AVFrame* frame)
glUseProgram(m_ShaderProgram);
m_glBindVertexArrayOES(m_VAO);
glUniformMatrix3fv(m_ShaderProgramParams[PARAM_YUVMAT], 1, GL_FALSE, getColorMatrix());
glUniform3fv(m_ShaderProgramParams[PARAM_OFFSET], 1, getColorOffsets());
glUniform1i(m_ShaderProgramParams[PARAM_PLANE1], 0);
glUniform1i(m_ShaderProgramParams[PARAM_PLANE2], 1);
// Bind parameters for the shaders
if (m_EGLImagePixelFormat == AV_PIX_FMT_NV12) {
glUniformMatrix3fv(m_ShaderProgramParams[NV12_PARAM_YUVMAT], 1, GL_FALSE, getColorMatrix());
glUniform3fv(m_ShaderProgramParams[NV12_PARAM_OFFSET], 1, getColorOffsets());
glUniform1i(m_ShaderProgramParams[NV12_PARAM_PLANE1], 0);
glUniform1i(m_ShaderProgramParams[NV12_PARAM_PLANE2], 1);
}
else if (m_EGLImagePixelFormat == AV_PIX_FMT_DRM_PRIME) {
glUniform1i(m_ShaderProgramParams[OPAQUE_PARAM_TEXTURE], 0);
}
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0);
@@ -815,3 +836,21 @@ void EGLRenderer::renderFrame(AVFrame* frame)
av_frame_unref(m_LastFrame);
av_frame_move_ref(m_LastFrame, frame);
}
bool EGLRenderer::testRenderFrame(AVFrame* frame)
{
EGLImage imgs[EGL_MAX_PLANES];
// Make sure we can get working EGLImages from the backend renderer.
// Some devices (Raspberry Pi) will happily decode into DRM formats that
// its own GL implementation won't accept in eglCreateImage().
ssize_t plane_count = m_Backend->exportEGLImages(frame, m_EGLDisplay, imgs);
if (plane_count <= 0) {
SDL_LogWarn(SDL_LOG_CATEGORY_APPLICATION,
"Backend failed to export EGL image for test frame");
return false;
}
m_Backend->freeEGLImages(m_EGLDisplay, imgs);
return true;
}
@@ -12,6 +12,7 @@ public:
virtual bool initialize(PDECODER_PARAMETERS params) override;
virtual bool prepareDecoderContext(AVCodecContext* context, AVDictionary** options) override;
virtual void renderFrame(AVFrame* frame) override;
virtual bool testRenderFrame(AVFrame* frame) override;
virtual void notifyOverlayUpdated(Overlay::OverlayType) override;
virtual bool isPixelFormatSupported(int videoFormat, enum AVPixelFormat pixelFormat) override;
virtual AVPixelFormat getPreferredPixelFormat(int videoFormat) override;
@@ -51,13 +52,14 @@ private:
PFNGLBINDVERTEXARRAYOESPROC m_glBindVertexArrayOES;
PFNGLDELETEVERTEXARRAYSOESPROC m_glDeleteVertexArraysOES;
#define PARAM_YUVMAT 0
#define PARAM_OFFSET 1
#define PARAM_PLANE1 2
#define PARAM_PLANE2 3
#define NV12_PARAM_YUVMAT 0
#define NV12_PARAM_OFFSET 1
#define NV12_PARAM_PLANE1 2
#define NV12_PARAM_PLANE2 3
#define OPAQUE_PARAM_TEXTURE 0
int m_ShaderProgramParams[4];
#define PARAM_TEXTURE 0
#define OVERLAY_PARAM_TEXTURE 0
int m_OverlayShaderProgramParams[1];
int m_OldContextProfileMask;
@@ -42,11 +42,26 @@ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platf
#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
#endif
#ifndef EGL_EXT_image_dma_buf_import_modifiers
#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
#endif
#define EGL_MAX_PLANES 4
@@ -71,6 +86,13 @@ public:
virtual bool prepareDecoderContext(AVCodecContext* context, AVDictionary** options) = 0;
virtual void renderFrame(AVFrame* frame) = 0;
virtual bool testRenderFrame(AVFrame*) {
// If the renderer doesn't provide an explicit test routine,
// we will always assume that any returned AVFrame can be
// rendered successfully.
return true;
}
virtual bool needsTestFrame() {
// No test frame required by default
return false;
@@ -351,3 +351,36 @@ Exit:
av_frame_free(&swFrame);
}
}
bool SdlRenderer::testRenderFrame(AVFrame* frame)
{
// If we are acting as the frontend for a hardware
// accelerated decoder, we'll need to read the frame
// back to render it. Test that this can be done
// for the given frame successfully.
if (frame->hw_frames_ctx != nullptr) {
auto hwFrameCtx = (AVHWFramesContext*)frame->hw_frames_ctx->data;
AVFrame* swFrame = av_frame_alloc();
if (swFrame == nullptr) {
return false;
}
swFrame->width = frame->width;
swFrame->height = frame->height;
swFrame->format = hwFrameCtx->sw_format;
int err = av_hwframe_transfer_data(swFrame, frame, 0);
av_frame_free(&swFrame);
if (err != 0) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
"av_hwframe_transfer_data() failed: %d",
err);
return false;
}
}
return true;
}
@@ -11,6 +11,7 @@ public:
virtual void renderFrame(AVFrame* frame) override;
virtual bool isRenderThreadSupported() override;
virtual bool isPixelFormatSupported(int videoFormat, enum AVPixelFormat pixelFormat) override;
virtual bool testRenderFrame(AVFrame* frame) override;
private:
void renderOverlay(Overlay::OverlayType type);
+57 -34
View File
@@ -193,17 +193,22 @@ void FFmpegVideoDecoder::reset()
}
}
bool FFmpegVideoDecoder::createFrontendRenderer(PDECODER_PARAMETERS params)
bool FFmpegVideoDecoder::createFrontendRenderer(PDECODER_PARAMETERS params, bool eglOnly)
{
if (eglOnly) {
#ifdef HAVE_EGL
if (m_BackendRenderer->canExportEGL()) {
m_FrontendRenderer = new EGLRenderer(m_BackendRenderer);
if (m_FrontendRenderer->initialize(params)) {
return true;
if (m_BackendRenderer->canExportEGL()) {
m_FrontendRenderer = new EGLRenderer(m_BackendRenderer);
if (m_FrontendRenderer->initialize(params)) {
return true;
}
delete m_FrontendRenderer;
m_FrontendRenderer = nullptr;
}
delete m_FrontendRenderer;
}
#endif
// If we made it here, we failed to create the EGLRenderer
return false;
}
if (m_BackendRenderer->isDirectRenderingSupported()) {
// The backend renderer can render to the display
@@ -221,13 +226,13 @@ bool FFmpegVideoDecoder::createFrontendRenderer(PDECODER_PARAMETERS params)
return true;
}
bool FFmpegVideoDecoder::completeInitialization(AVCodec* decoder, PDECODER_PARAMETERS params, bool testFrame)
bool FFmpegVideoDecoder::completeInitialization(AVCodec* decoder, PDECODER_PARAMETERS params, bool testFrame, bool eglOnly)
{
// In test-only mode, we should only see test frames
SDL_assert(!m_TestOnly || testFrame);
// Create the frontend renderer based on the capabilities of the backend renderer
if (!createFrontendRenderer(params)) {
if (!createFrontendRenderer(params, eglOnly)) {
return false;
}
@@ -365,6 +370,14 @@ bool FFmpegVideoDecoder::completeInitialization(AVCodec* decoder, PDECODER_PARAM
}
}
// Allow the renderer to do any validation it wants on this frame
if (!m_FrontendRenderer->testRenderFrame(frame)) {
SDL_LogWarn(SDL_LOG_CATEGORY_APPLICATION,
"Render test failed");
av_frame_free(&frame);
return false;
}
av_frame_free(&frame);
if (err < 0) {
char errorstring[512];
@@ -555,42 +568,52 @@ bool FFmpegVideoDecoder::tryInitializeRenderer(AVCodec* decoder,
const AVCodecHWConfig* hwConfig,
std::function<IFFmpegRenderer*()> createRendererFunc)
{
m_BackendRenderer = createRendererFunc();
m_HwDecodeCfg = hwConfig;
if (m_BackendRenderer != nullptr &&
m_BackendRenderer->initialize(params) &&
completeInitialization(decoder, params, m_TestOnly || m_BackendRenderer->needsTestFrame())) {
if (m_TestOnly) {
// This decoder is only for testing capabilities, so don't bother
// creating a usable renderer
return true;
}
if (m_BackendRenderer->needsTestFrame()) {
// The test worked, so now let's initialize it for real
reset();
if ((m_BackendRenderer = createRendererFunc()) != nullptr &&
m_BackendRenderer->initialize(params) &&
completeInitialization(decoder, params, false)) {
// i == 0 - Indirect via EGL frontend with zero-copy DMA-BUF passing
// i == 1 - Direct rendering or indirect via SDL read-back
#ifdef HAVE_EGL
for (int i = 0; i < 2; i++) {
#else
for (int i = 1; i < 2; i++) {
#endif
SDL_assert(m_BackendRenderer == nullptr);
if ((m_BackendRenderer = createRendererFunc()) != nullptr &&
m_BackendRenderer->initialize(params) &&
completeInitialization(decoder, params, m_TestOnly || m_BackendRenderer->needsTestFrame(), i == 0 /* EGL */)) {
if (m_TestOnly) {
// This decoder is only for testing capabilities, so don't bother
// creating a usable renderer
return true;
}
else {
SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION,
"Decoder failed to initialize after successful test");
if (m_BackendRenderer->needsTestFrame()) {
// The test worked, so now let's initialize it for real
reset();
if ((m_BackendRenderer = createRendererFunc()) != nullptr &&
m_BackendRenderer->initialize(params) &&
completeInitialization(decoder, params, false, i == 0 /* EGL */)) {
return true;
}
else {
SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION,
"Decoder failed to initialize after successful test");
reset();
}
}
else {
// No test required. Good to go now.
return true;
}
}
else {
// No test required. Good to go now.
return true;
// Failed to initialize, so keep looking
reset();
}
}
else {
// Failed to initialize or test frame failed, so keep looking
reset();
}
// reset() must be called before we reach this point!
SDL_assert(m_BackendRenderer == nullptr);
return false;
}
+2 -2
View File
@@ -26,7 +26,7 @@ public:
virtual IFFmpegRenderer* getBackendRenderer();
private:
bool completeInitialization(AVCodec* decoder, PDECODER_PARAMETERS params, bool testFrame);
bool completeInitialization(AVCodec* decoder, PDECODER_PARAMETERS params, bool testFrame, bool eglOnly);
void stringifyVideoStats(VIDEO_STATS& stats, char* output);
@@ -34,7 +34,7 @@ private:
void addVideoStats(VIDEO_STATS& src, VIDEO_STATS& dst);
bool createFrontendRenderer(PDECODER_PARAMETERS params);
bool createFrontendRenderer(PDECODER_PARAMETERS params, bool eglOnly);
bool tryInitializeRendererForDecoderByName(const char* decoderName,
PDECODER_PARAMETERS params);
+1 -1
View File
@@ -1 +1 @@
3.1.0
3.1.2
+2 -2
View File
@@ -20,11 +20,11 @@ install:
- sh: '[ "$BUILD_TARGET" != steamlink ] || sudo apt install -y libc6:i386 libstdc++6:i386'
- sh: '[ "$BUILD_TARGET" != steamlink ] || git clone --depth=1 https://github.com/ValveSoftware/steamlink-sdk.git $HOME/steamlink-sdk'
- sh: '[ "$BUILD_TARGET" != linux ] || sudo add-apt-repository ppa:beineri/opt-qt-5.14.2-xenial'
- sh: '[ "$BUILD_TARGET" != linux ] || sudo apt update'
- sh: '[ "$BUILD_TARGET" != linux ] || sudo apt update || true'
- sh: '[ "$BUILD_TARGET" != linux ] || sudo apt install -y qt514base qt514quickcontrols2 qt514svg qt514wayland nasm libgbm-dev libdrm-dev libfreetype6-dev libasound2-dev libdbus-1-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev libibus-1.0-dev libpulse-dev libudev-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-dev libxv-dev libxxf86vm-dev wayland-protocols libopus-dev libvdpau-dev'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export SDL2_REV=dfa64eadd38a6a8125290dcf121f1bc285e98dad && git clone https://github.com/libsdl-org/SDL.git SDL2 && cd SDL2 && git checkout $SDL2_REV && ./configure --enable-video-kmsdrm && make -j$(nproc) && sudo make install && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export SDL2_TTF_VER=2.0.15 && wget https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-$SDL2_TTF_VER.tar.gz && tar -xvf SDL2_ttf-$SDL2_TTF_VER.tar.gz && cd SDL2_ttf-$SDL2_TTF_VER && ./configure && make -j$(nproc) && sudo make install && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export LIBVA_VER=2.10.0 && wget https://github.com/intel/libva/releases/download/$LIBVA_VER/libva-$LIBVA_VER.tar.bz2 && tar -xvf libva-$LIBVA_VER.tar.bz2 && cd libva-$LIBVA_VER && ./configure && make -j$(nproc) && sudo make install && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export LIBVA_VER=2.11.0 && git clone https://github.com/intel/libva.git && cd libva && git checkout $LIBVA_VER && ./autogen.sh && ./configure && make -j$(nproc) && sudo make install && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export NVHDR_VER=8.1.24.12 && wget https://github.com/FFmpeg/nv-codec-headers/releases/download/n$NVHDR_VER/nv-codec-headers-$NVHDR_VER.tar.gz && tar -xvf nv-codec-headers-$NVHDR_VER.tar.gz && cd nv-codec-headers-$NVHDR_VER && sudo make install && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then export FFMPEG_VER=4.3.1 && wget https://ffmpeg.org/releases/ffmpeg-$FFMPEG_VER.tar.bz2 && tar -xvf ffmpeg-$FFMPEG_VER.tar.bz2 && cd ffmpeg-$FFMPEG_VER && ./configure $FFMPEG_CONFIGURE_ARGS && make -j$(nproc) && sudo make install && sudo ldconfig && cd ..; fi'
- sh: 'if [[ "$BUILD_TARGET" = linux ]]; then mkdir $HOME/bin && wget -O $HOME/bin/linuxdeployqt https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage && chmod a+x $HOME/bin/linuxdeployqt; fi'
+1 -1
Submodule libs updated: db54134a65...c5149747ff
@@ -54,6 +54,7 @@ SOURCES += \
$$COMMON_C_DIR/src/LinkedBlockingQueue.c \
$$COMMON_C_DIR/src/Misc.c \
$$COMMON_C_DIR/src/Platform.c \
$$COMMON_C_DIR/src/PlatformCrypto.c \
$$COMMON_C_DIR/src/PlatformSockets.c \
$$COMMON_C_DIR/src/RtpFecQueue.c \
$$COMMON_C_DIR/src/RtpReorderQueue.c \