Cloud saves: use max width; Groupbox Style
This commit is contained in:
parent
478fd17937
commit
d0f4e3b7c3
|
@ -48,12 +48,9 @@ class SyncSaves(QScrollArea):
|
|||
|
||||
def setup_ui(self, saves: list):
|
||||
self.start_thread.disconnect()
|
||||
|
||||
|
||||
self.main_layout = QVBoxLayout()
|
||||
self.title = QLabel(
|
||||
f"<h1>" + self.tr("Cloud Saves") + "</h1>\n" + self.tr("Found Saves for folowing Games"))
|
||||
|
||||
self.main_layout.addWidget(self.title)
|
||||
|
||||
saves_games = []
|
||||
|
@ -78,7 +75,6 @@ class SyncSaves(QScrollArea):
|
|||
logger.info(f'Got {len(latest_save)} remote save game(s)')
|
||||
|
||||
self.widgets = []
|
||||
|
||||
for igame in self.igames:
|
||||
game = self.core.get_game(igame.app_name)
|
||||
if not game.supports_cloud_saves:
|
||||
|
@ -92,7 +88,9 @@ class SyncSaves(QScrollArea):
|
|||
self.widgets.append(sync_widget)
|
||||
|
||||
self.widget = QWidget()
|
||||
self.main_layout.addStretch(1)
|
||||
self.widget.setLayout(self.main_layout)
|
||||
self.setWidgetResizable(True)
|
||||
self.setWidget(self.widget)
|
||||
|
||||
def reload(self):
|
||||
|
|
|
@ -2,7 +2,7 @@ import os
|
|||
from logging import getLogger
|
||||
|
||||
from PyQt5.QtCore import QThread, pyqtSignal, Qt
|
||||
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QPushButton, QHBoxLayout, QLabel
|
||||
from PyQt5.QtWidgets import QVBoxLayout, QPushButton, QHBoxLayout, QLabel, QGroupBox
|
||||
|
||||
from Rare.Components.Dialogs.PathInputDialog import PathInputDialog
|
||||
from custom_legendary.core import LegendaryCore
|
||||
|
@ -37,12 +37,14 @@ class _DownloadThread(QThread):
|
|||
self.core.download_saves(self.app_name, self.latest_save.manifest_name, self.save_path, clean_dir=True)
|
||||
|
||||
|
||||
class SyncWidget(QWidget):
|
||||
class SyncWidget(QGroupBox):
|
||||
reload = pyqtSignal()
|
||||
|
||||
def __init__(self, igame: InstalledGame, save, core: LegendaryCore):
|
||||
super(SyncWidget, self).__init__()
|
||||
super(SyncWidget, self).__init__(igame.title)
|
||||
self.setObjectName("group")
|
||||
self.layout = QVBoxLayout()
|
||||
self.setContentsMargins(10, 20, 10, 20)
|
||||
self.thr = None
|
||||
self.core = core
|
||||
self.save = save
|
||||
|
@ -70,7 +72,7 @@ class SyncWidget(QWidget):
|
|||
self.logger.info('No cloud or local savegame found.')
|
||||
return
|
||||
|
||||
game_title = QLabel(f"<h2>{igame.title}</h2>")
|
||||
# game_title = QLabel(f"<h2>{igame.title}</h2>")
|
||||
|
||||
if self.dt_local:
|
||||
local_save_date = QLabel(
|
||||
|
@ -124,7 +126,7 @@ class SyncWidget(QWidget):
|
|||
self.upload_button.clicked.connect(self.upload)
|
||||
self.download_button.clicked.connect(self.download)
|
||||
self.info_text = QLabel(status)
|
||||
self.layout.addWidget(game_title)
|
||||
# self.layout.addWidget(game_title)
|
||||
self.layout.addWidget(local_save_date)
|
||||
self.layout.addWidget(cloud_save_date)
|
||||
|
||||
|
@ -133,6 +135,7 @@ class SyncWidget(QWidget):
|
|||
self.save_path_text.setTextInteractionFlags(Qt.TextSelectableByMouse)
|
||||
self.save_path_text.setWordWrap(True)
|
||||
self.change_save_path = QPushButton(self.tr("Change path"))
|
||||
self.change_save_path.setFixedWidth(100)
|
||||
self.change_save_path.clicked.connect(self.change_path)
|
||||
save_path_layout.addWidget(self.save_path_text)
|
||||
save_path_layout.addWidget(self.change_save_path)
|
||||
|
@ -142,7 +145,7 @@ class SyncWidget(QWidget):
|
|||
button_layout.addWidget(self.upload_button)
|
||||
button_layout.addWidget(self.download_button)
|
||||
self.layout.addLayout(button_layout)
|
||||
|
||||
self.layout.addStretch(1)
|
||||
self.setLayout(self.layout)
|
||||
|
||||
def change_path(self):
|
||||
|
|
|
@ -111,6 +111,7 @@ class ImportWidget(QWidget):
|
|||
if not path:
|
||||
path = self.path_edit.text()
|
||||
if not app_name:
|
||||
# try to find app name
|
||||
if a_n := self.find_app_name(path):
|
||||
app_name = a_n
|
||||
else:
|
||||
|
@ -141,7 +142,7 @@ class ImportWidget(QWidget):
|
|||
continue
|
||||
app_name = self.find_app_name(json_path)
|
||||
if not app_name:
|
||||
logger.warning("Could not find app name")
|
||||
logger.warning("Could not find app name at " + game_path)
|
||||
continue
|
||||
|
||||
if LegendaryApi.import_game(self.core, app_name, game_path + path):
|
||||
|
@ -166,4 +167,4 @@ class ImportWidget(QWidget):
|
|||
QMessageBox.information(self, "Imported Games", self.tr("Successfully imported {} Games. Reloading Library").format(imported))
|
||||
self.update_list.emit()
|
||||
else:
|
||||
QMessageBox.information(self, "Imported Games", "No Games were found")
|
||||
QMessageBox.information(self, "Imported Games", self.tr("No Games were found"))
|
||||
|
|
|
@ -39,8 +39,7 @@ class LegendarySettings(QWidget):
|
|||
|
||||
#cleanup
|
||||
self.clean_layout = QVBoxLayout()
|
||||
self.cleanup_widget = QGroupBox()
|
||||
self.cleanup_widget.setTitle(self.tr("Cleanup"))
|
||||
self.cleanup_widget = QGroupBox(self.tr("Cleanup"))
|
||||
self.clean_button = QPushButton(self.tr("Remove everything"))
|
||||
self.clean_button.clicked.connect(lambda: self.cleanup(False))
|
||||
self.clean_layout.addWidget(self.clean_button)
|
||||
|
@ -92,7 +91,7 @@ class LegendarySettings(QWidget):
|
|||
|
||||
after = self.core.lgd.get_dir_size()
|
||||
logger.info(f'Cleanup complete! Removed {(before - after) / 1024 / 1024:.02f} MiB.')
|
||||
if cleaned := (before-after) != 0:
|
||||
if cleaned := (before-after) > 0:
|
||||
QMessageBox.information(self, "Cleanup", self.tr("Cleanup complete! Successfully removed {} MB").format(round(cleaned / 1024 / 1024, 3)))
|
||||
else:
|
||||
QMessageBox.information(self, "Cleanup", "Nothing to clean")
|
||||
|
|
|
@ -31,14 +31,22 @@ QTabBar::tab:hover#main_tab_bar {
|
|||
}
|
||||
|
||||
QGroupBox{
|
||||
padding: 4px;
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
QGroupBox#game_widget_icon{
|
||||
border: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
QGroupBox#group{
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
border: 1px solid white;
|
||||
padding: 8px;
|
||||
margin-top: 10px;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
QTabBar::tab:disabled {
|
||||
|
|
Binary file not shown.
|
@ -27,7 +27,7 @@
|
|||
<context>
|
||||
<name>BaseInstalledWidget</name>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameWidgets/BaseInstalledWidget.py" line="34"/>
|
||||
<location filename="../Components/Tabs/Games/GameWidgets/BaseInstalledWidget.py" line="36"/>
|
||||
<source>Do you want to launch {}</source>
|
||||
<translation>Möchtest du {} starten</translation>
|
||||
</message>
|
||||
|
@ -83,40 +83,45 @@
|
|||
<translation>Die Größe des Downloads ist 0. Spiel existiert bereits</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="287"/>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="288"/>
|
||||
<source>Installation finished</source>
|
||||
<translation>Installation abgeschlossen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="311"/>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="312"/>
|
||||
<source>Installing Game: No active download</source>
|
||||
<translation>Installierendes Spiel: Kein aktiver Download</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="319"/>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="320"/>
|
||||
<source>Download speed</source>
|
||||
<translation>Geschwindigkeit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="320"/>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="321"/>
|
||||
<source>Cache used</source>
|
||||
<translation>Benutzter Cache</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="321"/>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="322"/>
|
||||
<source>Downloaded</source>
|
||||
<translation>Runtergeladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="322"/>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="323"/>
|
||||
<source>Time left: </source>
|
||||
<translation>Zeit übrig: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="288"/>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="289"/>
|
||||
<source>Finished Download of game {}</source>
|
||||
<translation>Downlaod von {} abgeschlossen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="281"/>
|
||||
<source>Download finished. Reload library</source>
|
||||
<translation>Download abgeschlossen. Spiele neu laden</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DxvkWidget</name>
|
||||
|
@ -159,32 +164,32 @@
|
|||
<context>
|
||||
<name>GameActions</name>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="182"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="189"/>
|
||||
<source>Uninstall game</source>
|
||||
<translation>Spiel deinstallieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="184"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="191"/>
|
||||
<source>Uninstall</source>
|
||||
<translation>Deinstallieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="190"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="197"/>
|
||||
<source>Verify Game</source>
|
||||
<translation>Spieldateien überprüfen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="195"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="202"/>
|
||||
<source>Verify</source>
|
||||
<translation>Überprüfen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="204"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="211"/>
|
||||
<source>Repair Game</source>
|
||||
<translation>Spiel reparieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="206"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="213"/>
|
||||
<source>Repair</source>
|
||||
<translation>Reparieren</translation>
|
||||
</message>
|
||||
|
@ -192,50 +197,50 @@
|
|||
<context>
|
||||
<name>GameInfo</name>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="106"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="113"/>
|
||||
<source>Repair file does not exist or game does not need a repair. Please verify game first</source>
|
||||
<translation>Reparationsdatei existiert nicht oder das Spiel braucht keine Reperatur. Bitte das spiel zuerst überprüfen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="131"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="138"/>
|
||||
<source>Verification failed, {} file(s) corrupted, {} file(s) are missing. Do you want to repair them?</source>
|
||||
<translation>Überprüfung fehlgeschlagen, {} Datei(en) fehlerhaft, {} Datei(en) fehlen. Willst du das Spiel reparieren?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="160"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="167"/>
|
||||
<source>Developer: </source>
|
||||
<translation>Entwickler: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="161"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="168"/>
|
||||
<source>Install size: </source>
|
||||
<translation>Größe: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="163"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="170"/>
|
||||
<source>Install path: </source>
|
||||
<translation>Installationsordner: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="98"/>
|
||||
<source>Are you sure to uninstall {}</source>
|
||||
<translation>Möchtest du {} wirklich deinstallieren</translation>
|
||||
<translation type="obsolete">Möchtest du {} wirklich deinstallieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GameList</name>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameList.py" line="148"/>
|
||||
<location filename="../Components/Tabs/Games/GameList.py" line="151"/>
|
||||
<source>Launch</source>
|
||||
<translation>Starten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameList.py" line="153"/>
|
||||
<location filename="../Components/Tabs/Games/GameList.py" line="156"/>
|
||||
<source>Game running</source>
|
||||
<translation>Spiel läuft</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameList.py" line="45"/>
|
||||
<location filename="../Components/Tabs/Games/GameList.py" line="46"/>
|
||||
<source>Installed Games: {} Available Games: {}</source>
|
||||
<translation>Installierte Spiele: {} Verfügbare Spiele: {}</translation>
|
||||
</message>
|
||||
|
@ -360,22 +365,22 @@
|
|||
<translation>Keine valide Session gefunden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="26"/>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="27"/>
|
||||
<source>Back</source>
|
||||
<translation>Zurück</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="40"/>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="43"/>
|
||||
<source>Select path to game</source>
|
||||
<translation>Wähle den Pfad zum Spiel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="62"/>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="65"/>
|
||||
<source>Import Game</source>
|
||||
<translation>Spiel importieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="70"/>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="77"/>
|
||||
<source>Import all games from Epic Games Launcher</source>
|
||||
<translation>Alle Spiele aus dem Epic Games Launcher importieren</translation>
|
||||
</message>
|
||||
|
@ -385,45 +390,55 @@
|
|||
<translation type="obsolete">{} Spiele erfolgreich importiert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="43"/>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="46"/>
|
||||
<source>Override app name (Only if imported game from legendary or the app could not find the app name)</source>
|
||||
<translation>App Name überschreiben (Nur falls das Spiel von Legendary importiert wird oder der App Name nicht gefunden wird</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="110"/>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="118"/>
|
||||
<source>Could not find app name</source>
|
||||
<translation>Konnte den Appnamen nicht finden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="114"/>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="122"/>
|
||||
<source>Successfully imported {}. Reload library</source>
|
||||
<translation>Erfolgreich {} importiert. Spiele neu laden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="120"/>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="128"/>
|
||||
<source>Failed to import {}</source>
|
||||
<translation>{} Konnte nicht importiert werden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="159"/>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="167"/>
|
||||
<source>Successfully imported {} Games. Reloading Library</source>
|
||||
<translation>Erfolgreich {} Spiele importiert. Spiele neu laden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="39"/>
|
||||
<source>Import existing game from Epic Games Launcher</source>
|
||||
<translation>Ein bereits existierendes Spiel aus dem Epic Games Launcher importieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/ImportWidget.py" line="170"/>
|
||||
<source>No Games were found</source>
|
||||
<translation>Keine Spiele wurden gefunden</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InfoTabs</name>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="26"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="27"/>
|
||||
<source>Back</source>
|
||||
<translation>Zurück</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="30"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="31"/>
|
||||
<source>Game Info</source>
|
||||
<translation>Spielinfo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="32"/>
|
||||
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="33"/>
|
||||
<source>Settings</source>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
|
@ -431,27 +446,42 @@
|
|||
<context>
|
||||
<name>InstallDialog</name>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="22"/>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="29"/>
|
||||
<source>Max workers (0: Default)</source>
|
||||
<translation>Maximale Anzahl Downloadprozessen(Standard: 0)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="20"/>
|
||||
<source><h3>Install {}</h3></source>
|
||||
<translation><h3>Installiere {}</h3></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="33"/>
|
||||
<source>Force download</source>
|
||||
<translation>Download erzwingen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="37"/>
|
||||
<source>Ignore free space (Warning!)</source>
|
||||
<translation>Freien Speicherplatz ignorieren (Achtung!)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstallInfoDialog</name>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="55"/>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="70"/>
|
||||
<source>Download size: {}GB
|
||||
Install size: {}GB</source>
|
||||
<translation>Downloadgröße: {}GB
|
||||
Installationsgröße: {} GB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="61"/>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="76"/>
|
||||
<source>Install</source>
|
||||
<translation>Installieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="63"/>
|
||||
<location filename="../Components/Dialogs/InstallDialog.py" line="78"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Abbruch</translation>
|
||||
</message>
|
||||
|
@ -518,22 +548,22 @@ Installationsgröße: {} GB</translation>
|
|||
<translation>Maximale Anzahl Downloadprozesse (Weniger: langsamer)(Standard: 0)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Settings/Legendary.py" line="43"/>
|
||||
<location filename="../Components/Tabs/Settings/Legendary.py" line="42"/>
|
||||
<source>Cleanup</source>
|
||||
<translation>Aufräumen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Settings/Legendary.py" line="44"/>
|
||||
<location filename="../Components/Tabs/Settings/Legendary.py" line="43"/>
|
||||
<source>Remove everything</source>
|
||||
<translation>Alles aufräumen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Settings/Legendary.py" line="48"/>
|
||||
<location filename="../Components/Tabs/Settings/Legendary.py" line="47"/>
|
||||
<source>Clean, but keep manifests</source>
|
||||
<translation>Aufräumen, aber Manifests behalten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Settings/Legendary.py" line="96"/>
|
||||
<location filename="../Components/Tabs/Settings/Legendary.py" line="95"/>
|
||||
<source>Cleanup complete! Successfully removed {} MB</source>
|
||||
<translation>Fertig! Es wurden {} MB entfernt</translation>
|
||||
</message>
|
||||
|
@ -695,97 +725,97 @@ Installationsgröße: {} GB</translation>
|
|||
<context>
|
||||
<name>SyncWidget</name>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="60"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="62"/>
|
||||
<source>Path not found</source>
|
||||
<translation>Ordner nicht gefunden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="76"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="78"/>
|
||||
<source>Local Save date: </source>
|
||||
<translation>Lokales Speicherdatum: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="79"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="81"/>
|
||||
<source>No Local Save files</source>
|
||||
<translation>Keine Lokalen Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="81"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="83"/>
|
||||
<source>Cloud save date: </source>
|
||||
<translation>Online Speicherdatum: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="83"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="85"/>
|
||||
<source>No Cloud saves</source>
|
||||
<translation>Keine Online Speicherstände</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="87"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="89"/>
|
||||
<source>Game is up to date</source>
|
||||
<translation>Spiel ist aktuell</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="88"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="90"/>
|
||||
<source>Upload anyway</source>
|
||||
<translation>Trotzdem hochladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="89"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="91"/>
|
||||
<source>Download anyway</source>
|
||||
<translation>Trotzdem herunterladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="91"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="93"/>
|
||||
<source>Cloud save is newer</source>
|
||||
<translation>Online Speicherstand ist aktueller</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="92"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="94"/>
|
||||
<source>Download Cloud saves</source>
|
||||
<translation>Online Speicherstand herunterladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="96"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="98"/>
|
||||
<source>Upload Saves</source>
|
||||
<translation>Spielstände hochladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="107"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="109"/>
|
||||
<source>Local save is newer</source>
|
||||
<translation>Lokaler Speicher ist aktueller</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="108"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="110"/>
|
||||
<source>Upload saves</source>
|
||||
<translation>Spielstände hochladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="112"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="114"/>
|
||||
<source>Download saves</source>
|
||||
<translation>Spielstand herunterladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="134"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="137"/>
|
||||
<source>Change path</source>
|
||||
<translation>Pfad ändern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="159"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="161"/>
|
||||
<source>Uploading...</source>
|
||||
<translation>Hochladen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="167"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="169"/>
|
||||
<source>Upload finished</source>
|
||||
<translation>Hochladen abgeschlossen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="177"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="179"/>
|
||||
<source>Downloading...</source>
|
||||
<translation>Runterladen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="183"/>
|
||||
<location filename="../Components/Tabs/CloudSaves/SyncWidget.py" line="185"/>
|
||||
<source>Download finished</source>
|
||||
<translation>Download abgeschlossen</translation>
|
||||
</message>
|
||||
|
@ -798,10 +828,38 @@ Installationsgröße: {} GB</translation>
|
|||
<translation>Spiele</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UninstallDialog</name>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/UninstallDialog.py" line="13"/>
|
||||
<source>Do you really want to uninstall {}</source>
|
||||
<translation>Möchtest du wirklich {} deinstallieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/UninstallDialog.py" line="15"/>
|
||||
<source>Keep Files</source>
|
||||
<translation>Dateien behalten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/UninstallDialog.py" line="18"/>
|
||||
<source>Do you want to keep files?</source>
|
||||
<translation>Willst du die Dateien behalten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/UninstallDialog.py" line="22"/>
|
||||
<source>Uninstall</source>
|
||||
<translation>Deinstallieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Components/Dialogs/UninstallDialog.py" line="25"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Abbruch</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UpdateWidget</name>
|
||||
<message>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="349"/>
|
||||
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="352"/>
|
||||
<source>Update Game</source>
|
||||
<translation>Spiel updaten</translation>
|
||||
</message>
|
||||
|
|
Loading…
Reference in a new issue