1
0
Fork 0
mirror of synced 2024-06-23 08:40:45 +12:00

Translations

This commit is contained in:
Dummerle 2021-03-11 12:56:38 +01:00
parent 34d131d8f0
commit a051d9138a
10 changed files with 239 additions and 52 deletions

View file

@ -19,7 +19,7 @@ class InstallDialog(QDialog):
self.form.addRow(QLabel("Install directory"), self.install_path_field)
self.max_workes = QSpinBox()
self.form.addRow(QLabel("Max workers (0: Default)"), self.max_workes)
self.form.addRow(QLabel(self.tr("Max workers (0: Default)")), self.max_workes)
self.layout.addLayout(self.form)
@ -52,14 +52,14 @@ class InstallInfoDialog(QDialog):
def __init__(self, dl_size, install_size):
super(InstallInfoDialog, self).__init__()
self.layout = QVBoxLayout()
self.infos = QLabel(
f"Download size: {(dl_size / 1024 ** 3):.02f}GB\nInstall size: {(install_size / 1024 ** 3):.02f}GB")
self.infos = QLabel(self.tr(
"Download size: {}GB\nInstall size: {}GB").format(round(dl_size / 1024 ** 3, 2), round(install_size / 1024 ** 3, 2)))
self.layout.addWidget(self.infos)
self.btn_layout = QHBoxLayout()
self.install_btn = QPushButton("Install")
self.install_btn = QPushButton(self.tr("Install"))
self.install_btn.clicked.connect(self.install)
self.cancel_button = QPushButton("Cancel")
self.cancel_button = QPushButton(self.tr("Cancel"))
self.cancel_button.clicked.connect(self.cancel)
self.btn_layout.addStretch(1)
self.btn_layout.addWidget(self.install_btn)

View file

@ -20,26 +20,26 @@ class BrowserLogin(QWidget):
self.back = QPushButton("Back") # TODO Icon
self.layout.addWidget(self.back)
self.info_text = QLabel(
f"Opens a browser. You login and copy the json code in the field below. Click <a href='{self.url}'>here</a> to open Browser")
self.info_text = QLabel(self.tr(
"Opens a browser. You login and copy the json code in the field below. Click <a href='{}'>here</a> to open Browser").format(self.url))
self.info_text.setWordWrap(True)
self.info_text.setOpenExternalLinks(True)
self.layout.addWidget(self.info_text)
self.input_field = QLineEdit()
self.input_field.setPlaceholderText("Insert SID here")
self.input_field.setPlaceholderText(self.tr("Insert SID here"))
self.layout.addWidget(self.input_field)
self.mini_info = QLabel("")
self.login_btn = QPushButton("Login")
self.login_btn = QPushButton(self.tr("Login"))
self.login_btn.clicked.connect(self.login)
self.layout.addWidget(self.login_btn)
self.setLayout(self.layout)
def login(self):
self.mini_info.setText("Loading...")
self.mini_info.setText(self.tr("Loading..."))
sid = self.input_field.text()
# when the text copied
if sid.startswith("{") and sid.endswith("}"):

View file

@ -27,7 +27,8 @@ class LoginDialog(QDialog):
self.info_text = QLabel(self.tr("Select one option to Login"))
self.landing_layout.addWidget(self.info_text)
self.browser_login = OptionWidget("Use Browser", "This opens your default webbrowser. Login and copy the text")
self.browser_login = OptionWidget(self.tr("Use Browser"),
self.tr("This opens your default browser. Login and copy the text"))
self.landing_layout.addWidget(self.browser_login)
self.browser_login.button.clicked.connect(lambda: self.layout.setCurrentIndex(1))
@ -35,7 +36,7 @@ class LoginDialog(QDialog):
self.import_login = OptionWidget("Import from existing installation",
"Import an existing login session from an Epic Games Launcher installation. You will get logged out there")
self.import_login.button.clicked.connect(lambda: self.layout.setCurrentIndex(2))
self.landing_layout.addWidget(self.import_login)
# self.landing_layout.addWidget(self.import_login)
self.close_button = QPushButton("Exit App")
self.close_button.clicked.connect(self.close)

View file

@ -1,4 +1,4 @@
from PyQt5.QtWidgets import QHBoxLayout, QPushButton, QVBoxLayout, QLabel, QDialog
from PyQt5.QtWidgets import QHBoxLayout, QPushButton, QVBoxLayout, QLabel, QDialog, QFileDialog
from Rare.utils.QtExtensions import PathEdit
@ -21,7 +21,7 @@ class PathInputDialog(QDialog):
self.child_layout = QHBoxLayout()
self.ok_button = QPushButton("Ok")
self.ok_button.clicked.connect(self.ok)
self.cancel_button = QPushButton("Cancel")
self.cancel_button = QPushButton(self.tr("Cancel"))
self.cancel_button.clicked.connect(self.cancel)
self.child_layout.addStretch()
self.child_layout.addWidget(self.ok_button)

View file

@ -67,7 +67,6 @@ class LaunchDialog(QDialog):
self.setLayout(self.layout)
def login(self):
print("Login dlg")
if LoginDialog(core=self.core).login():
self.login_thread.start()
else:
@ -76,7 +75,7 @@ class LaunchDialog(QDialog):
def launch(self, core: LegendaryCore):
self.core = core
self.info_pb.setMaximum(len(self.core.get_game_list()))
self.info_text.setText("Downloading Images")
self.info_text.setText(self.tr("Downloading Images"))
self.thread = LaunchThread(self.core, self)
self.thread.download_progess.connect(self.update_pb)
self.thread.action.connect(self.info)

View file

@ -11,7 +11,12 @@ class MiniWidget(QWidget):
self.layout = QVBoxLayout()
self.core = core
self.layout.addWidget(QLabel("Account"))
self.layout.addWidget(QLabel(self.tr("Logged in as ") + str(self.core.lgd.userdata.get("display_name"))))
username = str(self.core.lgd.userdata.get("display_name"))
if not username:
self.core.login()
username = str(self.core.lgd.userdata.get("display_name"))
self.layout.addWidget(QLabel(self.tr("Logged in as ") + username))
self.open_browser = QPushButton(self.tr("Account settings"))
self.open_browser.clicked.connect(self.open_account)

View file

@ -103,10 +103,10 @@ class DownloadTab(QWidget):
self.layout = QVBoxLayout()
self.active_game: Game = None
self.installing_game = QLabel("Installing Game: None")
self.dl_speed = QLabel("Download speed: 0MB/s")
self.cache_used = QLabel("Cache used: 0MB")
self.downloaded = QLabel("Downloaded: 0MB")
self.installing_game = QLabel(self.tr("No active Download"))
self.dl_speed = QLabel(self.tr("Download speed") + ": 0MB/s")
self.cache_used = QLabel(self.tr("Cache used") + ": 0MB")
self.downloaded = QLabel(self.tr("Downloaded") + ": 0MB")
self.info_layout = QGridLayout()
@ -128,7 +128,7 @@ class DownloadTab(QWidget):
self.installing_game_widget = QLabel(self.tr("No active Download"))
self.layout.addWidget(self.installing_game_widget)
self.update_title = QLabel("<h2>Updates</h2>")
self.update_title = QLabel(f"<h2>{self.tr('Updates')}</h2>")
self.update_title.setStyleSheet("""
QLabel{
margin-top: 20px;
@ -159,7 +159,7 @@ class DownloadTab(QWidget):
repair_file = os.path.join(self.core.lgd.get_tmp_path(), f'{options.app_name}.repair')
if not game:
QMessageBox.warning(self, "Error", "Could not find Game in your library")
QMessageBox.warning(self, "Error", self.tr("Could not find Game in your library"))
return
if game.is_dlc:
@ -185,7 +185,7 @@ class DownloadTab(QWidget):
if not os.path.exists(repair_file):
logger.info("Game has not been verified yet")
if QMessageBox.question(self, "Verify", "Game has not been verified yet. Do you want to verify first?",
if QMessageBox.question(self, "Verify", self.tr("Game has not been verified yet. Do you want to verify first?"),
QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes:
self.verify_thread = VerifyThread(self.core, game.app_name)
self.verify_thread.finished.connect(
@ -207,7 +207,7 @@ class DownloadTab(QWidget):
return
self.installing_game_widget.setText("")
self.installing_game.setText("Installing Game: " + game.app_title)
self.installing_game.setText(self.tr("Installing Game: ") + game.app_title)
res = self.core.check_installation_conditions(analysis=analysis, install=igame, game=game,
updating=self.core.is_installed(options.app_name),
)

View file

@ -31,7 +31,7 @@ class ImportWidget(QWidget):
self.title = QLabel("<h2>Import Game</h2")
self.layout.addWidget(self.title)
self.import_one_game = QLabel("<h3>Import existing game</h3>")
self.import_one_game = QLabel(f"<h3>{self.tr('Import existing game')}</h3>")
self.layout.addWidget(self.import_one_game)
self.import_game_info = QLabel(self.tr("Select path to game"))
@ -40,13 +40,13 @@ class ImportWidget(QWidget):
self.path_edit = PathEdit(os.path.expanduser("~"), QFileDialog.DirectoryOnly)
self.layout.addWidget(self.path_edit)
self.import_button = QPushButton("Import Game")
self.import_button = QPushButton(self.tr("Import Game"))
self.layout.addWidget(self.import_button)
self.import_button.clicked.connect(self.import_game)
self.layout.addStretch(1)
self.auto_import = QLabel("<h3>Auto import all existing games</h3>")
self.auto_import = QLabel(f"<h3>{self.tr('Auto import all existing games')}</h3>")
self.layout.addWidget(self.auto_import)
self.auto_import_button = QPushButton(self.tr("Import all games from Epic Games Launcher"))
self.auto_import_button.clicked.connect(self.import_games_prepare)
@ -113,7 +113,7 @@ class ImportWidget(QWidget):
for wine_prefix in possible_wineprefixes:
imported += self.auto_import_games(f"{wine_prefix}drive_c/Program Files/Epic Games/")
if imported > 0:
QMessageBox.information(self, "Imported Games", self.tr(f"Successfully imported {imported} Games"))
QMessageBox.information(self, "Imported Games", self.tr("Successfully imported {} Games").format(imported))
self.update_list.emit()
logger.info("Restarting app to import games")
else:

Binary file not shown.

View file

@ -19,6 +19,29 @@
<translation>Dies ist eine beta version, dementsprechend wird es Bugs geben. Wenn du einen bug findest, berichte mir davon, indem du einen Issue auf &lt;a href=&apos;https://github.com/Dummerle/Rare/issues&apos;&gt;Github&lt;/a&gt; erstellst oder du kontaktierst mich über Discord (Dummerle#7419). Auch wenn du gerne ein neues Feature haben möchtest, kontaktiere mich</translation>
</message>
</context>
<context>
<name>BrowserLogin</name>
<message>
<location filename="../Components/Dialogs/Login/BrowserLogin.py" line="23"/>
<source>Opens a browser. You login and copy the json code in the field below. Click &lt;a href=&apos;{}&apos;&gt;here&lt;/a&gt; to open Browser</source>
<translation>Ein Browser wird geöffnet. Einloggen und den json Code in das untere Feld kopieren. Drücke &lt;a href=&apos;{}&apos;&gt;hier&lt;/a&gt; um den Browser zu öffnen</translation>
</message>
<message>
<location filename="../Components/Dialogs/Login/BrowserLogin.py" line="30"/>
<source>Insert SID here</source>
<translation>Die SID hier einfügen</translation>
</message>
<message>
<location filename="../Components/Dialogs/Login/BrowserLogin.py" line="35"/>
<source>Login</source>
<translation>Einloggen</translation>
</message>
<message>
<location filename="../Components/Dialogs/Login/BrowserLogin.py" line="42"/>
<source>Loading...</source>
<translation>Laden...</translation>
</message>
</context>
<context>
<name>DownloadTab</name>
<message>
@ -61,16 +84,46 @@
<source>Installing Game: No active download</source>
<translation>Zu installierendes Spiel: Kein aktiver Download</translation>
</message>
<message>
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="107"/>
<source>Download speed</source>
<translation>Download Geschwindigkeit</translation>
</message>
<message>
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="108"/>
<source>Cache used</source>
<translation>Genutzter Cache</translation>
</message>
<message>
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="109"/>
<source>Downloaded</source>
<translation>Runtergeladen</translation>
</message>
<message>
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="162"/>
<source>Could not find Game in your library</source>
<translation>Konnte das Spiel nicht in deiner Bibliothek finden</translation>
</message>
<message>
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="188"/>
<source>Game has not been verified yet. Do you want to verify first?</source>
<translation>Spiel wurde noch nicht überprüft. Willst du es überprüfen?</translation>
</message>
<message>
<location filename="../Components/Tabs/Downloads/DownloadTab.py" line="210"/>
<source>Installing Game: </source>
<translation>Installierendes Spiel: </translation>
</message>
</context>
<context>
<name>GameActions</name>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="151"/>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="166"/>
<source>Uninstall game</source>
<translation>Spiel deinstallieren</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="159"/>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="174"/>
<source>Verify Game</source>
<translation>Spieldateien überprüfen</translation>
</message>
@ -78,32 +131,32 @@
<context>
<name>GameInfo</name>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="83"/>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="97"/>
<source>Are you sure to uninstall </source>
<translation>Möchstes du das Spiel deinstallieren </translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="92"/>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="106"/>
<source>Repair file does not exist or game does not need a repair. Please verify game first</source>
<translation>Es ist keine Reperatur nötig oder das Spiel wurde noch nicht verifiziert. Verifiziere das Spiel zu erst</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="109"/>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="124"/>
<source>Verification failed, {} file(s) corrupted, {} file(s) are missing. Do you want to repair them?</source>
<translation>Überprüfung fehlgeschlagen, {} Dateien sind falsch, {} Dateien fehlen. Willst du das Spiel reparieren?</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="137"/>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="152"/>
<source>Developer: </source>
<translation>Entwickler: </translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="138"/>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="153"/>
<source>Install size: </source>
<translation>Installationsgröße: </translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="140"/>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="155"/>
<source>Install path: </source>
<translation>Installations pfad: </translation>
</message>
@ -111,24 +164,57 @@
<context>
<name>GameListHeadBar</name>
<message>
<location filename="../Components/Tabs/Games/GamesTab.py" line="60"/>
<location filename="../Components/Tabs/Games/GamesTab.py" line="69"/>
<source>Installed only</source>
<translation>Nur installierte</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GamesTab.py" line="67"/>
<location filename="../Components/Tabs/Games/GamesTab.py" line="86"/>
<source>Search Game</source>
<translation>Spiel suchen</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GamesTab.py" line="71"/>
<source>List view</source>
<translation>Listenansicht</translation>
<translation type="obsolete">Listenansicht</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GamesTab.py" line="73"/>
<source>Icon view</source>
<translation>Iconansicht</translation>
<translation type="obsolete">Iconansicht</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GamesTab.py" line="74"/>
<source>Import Game</source>
<translation>Spiel importieren</translation>
</message>
</context>
<context>
<name>GameSettings</name>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameSettings.py" line="36"/>
<source>Proton Wrapper</source>
<translation>Protonversion</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameSettings.py" line="39"/>
<source>Save</source>
<translation>Speichern</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameSettings.py" line="41"/>
<source>Proton prefix</source>
<translation>Proton prefix</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameSettings.py" line="100"/>
<source>No permission to create folder</source>
<translation>Keine Berechtigung um den Ordner zu erstellen</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameSettings.py" line="121"/>
<source>Please select path for proton prefix</source>
<translation>Wähle den Pfad für das Proton Prefix</translation>
</message>
</context>
<context>
@ -152,12 +238,12 @@
<context>
<name>GameWidgetInstalled</name>
<message>
<location filename="../Components/Tabs/Games/GameWidgetInstalled.py" line="36"/>
<location filename="../Components/Tabs/Games/GameWidgetInstalled.py" line="37"/>
<source>Update available</source>
<translation>Update verfügbar</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameWidgetInstalled.py" line="115"/>
<location filename="../Components/Tabs/Games/GameWidgetInstalled.py" line="120"/>
<source>Game running</source>
<translation>Spiel läuft</translation>
</message>
@ -167,7 +253,7 @@
<translation type="obsolete">Möchtest du das Spiel deinstallieren: </translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameWidgetInstalled.py" line="92"/>
<location filename="../Components/Tabs/Games/GameWidgetInstalled.py" line="97"/>
<source>Please update Game</source>
<translation>Bitte das Spiel updaten</translation>
</message>
@ -187,6 +273,82 @@
<source>Appdata path: </source>
<translation>Appdata pfad: </translation>
</message>
<message>
<location filename="../Components/Tabs/Games/ImportWidget.py" line="23"/>
<source>Back</source>
<translation>Zurück</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/ImportWidget.py" line="37"/>
<source>Select path to game</source>
<translation>Wähle den Pfad zum Spiel</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/ImportWidget.py" line="51"/>
<source>Import all games from Epic Games Launcher</source>
<translation>Alle Spiele von Epic Games Launcher importieren</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/ImportWidget.py" line="116"/>
<source>Successfully imported {imported} Games</source>
<translation type="obsolete">Es wurden {} Spiele erfolgreich importiert</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/ImportWidget.py" line="43"/>
<source>Import Game</source>
<translation>Spiel importieren</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/ImportWidget.py" line="116"/>
<source>Successfully imported {} Games</source>
<translation>Es wurden {} Spiele erfolgreich importiert</translation>
</message>
</context>
<context>
<name>InfoTabs</name>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="26"/>
<source>Back</source>
<translation>Zurück</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="30"/>
<source>Game Info</source>
<translation>Spiel Informationen</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/GameInfo/GameInfo.py" line="32"/>
<source>Settings</source>
<translation>Einstellungen</translation>
</message>
</context>
<context>
<name>InstallDialog</name>
<message>
<location filename="../Components/Dialogs/InstallDialog.py" line="22"/>
<source>Max workers (0: Default)</source>
<translation>Maximale Anzahl an Downloadprozessen (0: Standard)</translation>
</message>
</context>
<context>
<name>InstallInfoDialog</name>
<message>
<location filename="../Components/Dialogs/InstallDialog.py" line="55"/>
<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="60"/>
<source>Install</source>
<translation>Installieren</translation>
</message>
<message>
<location filename="../Components/Dialogs/InstallDialog.py" line="62"/>
<source>Cancel</source>
<translation>Schließen</translation>
</message>
</context>
<context>
<name>LaunchDialog</name>
@ -200,6 +362,11 @@
<source>Logging in</source>
<translation>Einloggen</translation>
</message>
<message>
<location filename="../Components/Launch/LaunchDialog.py" line="78"/>
<source>Downloading Images</source>
<translation>Bilder runterladen</translation>
</message>
</context>
<context>
<name>LegendarySettings</name>
@ -222,12 +389,12 @@
<context>
<name>LinuxSettings</name>
<message>
<location filename="../Components/Tabs/Settings/Linux.py" line="28"/>
<location filename="../Components/Tabs/Settings/Linux.py" line="29"/>
<source>Default Wine Prefix</source>
<translation>Standard Wine Prefix</translation>
</message>
<message>
<location filename="../Components/Tabs/Settings/Linux.py" line="38"/>
<location filename="../Components/Tabs/Settings/Linux.py" line="37"/>
<source>Default Wine executable</source>
<translation>Standard Wine zum ausführen</translation>
</message>
@ -239,6 +406,16 @@
<source>Select one option to Login</source>
<translation>Wähle eine Option zum einloggen</translation>
</message>
<message>
<location filename="../Components/Dialogs/Login/LoginDialog.py" line="30"/>
<source>Use Browser</source>
<translation>Browser benutzen</translation>
</message>
<message>
<location filename="../Components/Dialogs/Login/LoginDialog.py" line="30"/>
<source>This opens your default browser. Login and copy the text</source>
<translation>Dies öffnet den Browser. Logge dich ein und kopiere den angezeigten Text</translation>
</message>
</context>
<context>
<name>Menu</name>
@ -256,22 +433,22 @@
<context>
<name>MiniWidget</name>
<message>
<location filename="../Components/Tabs/Account/AccountWidget.py" line="14"/>
<location filename="../Components/Tabs/Account/AccountWidget.py" line="19"/>
<source>Logged in as </source>
<translation>Eingeloggt als </translation>
</message>
<message>
<location filename="../Components/Tabs/Account/AccountWidget.py" line="16"/>
<location filename="../Components/Tabs/Account/AccountWidget.py" line="21"/>
<source>Account settings</source>
<translation>Accounteinstellungen</translation>
</message>
<message>
<location filename="../Components/Tabs/Account/AccountWidget.py" line="20"/>
<location filename="../Components/Tabs/Account/AccountWidget.py" line="25"/>
<source>Logout</source>
<translation>Ausloggen</translation>
</message>
<message>
<location filename="../Components/Tabs/Account/AccountWidget.py" line="26"/>
<location filename="../Components/Tabs/Account/AccountWidget.py" line="31"/>
<source>Do you really want to logout</source>
<translation>Möchtest du dich wirklich ausloggen</translation>
</message>
@ -279,12 +456,12 @@
<context>
<name>PathEdit</name>
<message>
<location filename="../utils/QtExtensions.py" line="132"/>
<location filename="../utils/QtExtensions.py" line="133"/>
<source>Select Path</source>
<translation>Wähle Pfad</translation>
</message>
<message>
<location filename="../utils/QtExtensions.py" line="145"/>
<location filename="../utils/QtExtensions.py" line="146"/>
<source>Choose Path</source>
<translation>Wähle Pfad</translation>
</message>
@ -296,6 +473,11 @@
<source>Select directory</source>
<translation>Wähle Ordner</translation>
</message>
<message>
<location filename="../Components/Dialogs/PathInputDialog.py" line="24"/>
<source>Cancel</source>
<translation>Schließen</translation>
</message>
</context>
<context>
<name>RareSettings</name>