Added support for custom download directories

This commit is contained in:
2025-04-22 21:46:15 -04:00
parent bcb86bc4b0
commit a3d8dc7887
13 changed files with 1030 additions and 467 deletions

View File

@@ -28,7 +28,7 @@ Titel, welche mit einem Häkchen markiert sind, sind frei verfügbar und haben e
Titel werden in einem &quot;NUSGet&quot; Ordner innerhalb des Downloads-Ordners gespeichert.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="101"/>
<location filename="../../NUSGet.py" line="115"/>
<source>NUSGet v{nusget_version}
Developed by NinjaCheetah
Powered by libWiiPy {libwiipy_version}
@@ -53,173 +53,200 @@ Titel, welche mit einem Häkchen markiert sind, sind frei verfügbar und haben e
Titel werden in einem &quot;NUSGet Downloads&quot; Ordner innerhalb des Downloads-Ordners gespeichert.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="203"/>
<location filename="../../NUSGet.py" line="218"/>
<source>NUSGet Update Available</source>
<translation>NUSGet-Update verfügbar</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="204"/>
<location filename="../../NUSGet.py" line="219"/>
<source>There&apos;s a newer version of NUSGet available!</source>
<translation>Eine neuere Version von NUSGet ist verfügbar.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="296"/>
<location filename="../../NUSGet.py" line="320"/>
<source>No Output Selected</source>
<translatorcomment>Changed from &quot;output&quot; to &quot;packaging&quot; for clarity</translatorcomment>
<translation>Keine Verpackmethode ausgewählt</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="297"/>
<location filename="../../NUSGet.py" line="321"/>
<source>You have not selected any format to output the data in!</source>
<translation>Es wurde keine Methode zum Verpacken der Inhalte ausgewählt.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="299"/>
<location filename="../../NUSGet.py" line="323"/>
<source>Please select at least one option for how you would like the download to be saved.</source>
<translatorcomment>Explicitly mentions options for clarity</translatorcomment>
<translation>Es muss mindestens &quot;verschlüsselte Inhalte speichern&quot;, &quot;entschlüsselte Inhalte speichern (*.app)&quot; oder &quot;Installierbar verpacken (WAD/TAD)&quot; ausgewählt worden sein.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="328"/>
<location filename="../../NUSGet.py" line="335"/>
<location filename="../../NUSGet.py" line="537"/>
<source>Invalid Download Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../NUSGet.py" line="336"/>
<location filename="../../NUSGet.py" line="538"/>
<source>The specified download directory does not exist!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../NUSGet.py" line="339"/>
<source>Please make sure the specified download directory exists, and that you have permission to access it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../NUSGet.py" line="369"/>
<source>Invalid Title ID</source>
<translation>Fehlerhafte Title-ID</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="329"/>
<location filename="../../NUSGet.py" line="370"/>
<source>The Title ID you have entered is not in a valid format!</source>
<translation>Die eingegebene Title-ID ist nicht korrekt.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="331"/>
<location filename="../../NUSGet.py" line="372"/>
<source>Title IDs must be 16 digit strings of numbers and letters. Please enter a correctly formatted Title ID, or select one from the menu on the left.</source>
<translation>Die Title-ID muss mindestens 16 alphanumerische Zeichen enthalten.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="333"/>
<location filename="../../NUSGet.py" line="374"/>
<source>Title ID/Version Not Found</source>
<translation>Title-ID/Version nicht gefunden</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="334"/>
<location filename="../../NUSGet.py" line="375"/>
<source>No title with the provided Title ID or version could be found!</source>
<translatorcomment>The title was moved into the body, and the title was made less of a mouthful, for ease of translation</translatorcomment>
<translation>Es konnte kein Titel mit der gegebenen Title-ID oder Version gefunden werden.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="336"/>
<location filename="../../NUSGet.py" line="377"/>
<source>Please make sure that you have entered a valid Title ID, or selected one from the title database, and that the provided version exists for the title you are attempting to download.</source>
<translation>Die Title-ID könnte möglicherweise fehlerhaft sein.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="338"/>
<location filename="../../NUSGet.py" line="379"/>
<source>Content Decryption Failed</source>
<translation>Entschlüsselung fehlgeschlagen</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="339"/>
<location filename="../../NUSGet.py" line="380"/>
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
<translation>Die Inhalte des Titels konnten nicht korrekt entschlüsselt werden.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="342"/>
<location filename="../../NUSGet.py" line="383"/>
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked &quot;Use local files, if they exist&quot;, try disabling that option before trying the download again to fix potential issues with local data.</source>
<translation>Die gespeicherte TMD oder das Ticket könnten möglicherweise fehlerhaft sein. &quot;Lokale Dateien nutzen&quot; kann deaktiviert werden, um diese erneut herunterzuladen.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="345"/>
<location filename="../../NUSGet.py" line="386"/>
<source>Ticket Not Available</source>
<translation>Ticket nicht verfügbar</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="346"/>
<location filename="../../NUSGet.py" line="387"/>
<source>No Ticket is Available for the Requested Title!</source>
<translation>Es konnte kein Ticket für den geforderten Titel gefunden werden.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="349"/>
<location filename="../../NUSGet.py" line="390"/>
<source>A ticket could not be downloaded for the requested title, but you have selected &quot;Pack installable archive&quot; or &quot;Create decrypted contents&quot;. These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
<translation>Das Ticket zum Entschlüsseln konnte nicht heruntergeladen werden, jedoch ist &quot;Installierbar verpacken&quot; bzw. &quot;Entschlüsselte Inhalte speichern&quot; aktiv. Diese Optionen erfordern ein Ticket, daher wurden nur verschlüsselte Inhalte gespeichert.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="351"/>
<location filename="../../NUSGet.py" line="392"/>
<source>Unknown Error</source>
<translation>Unbekannter Fehler</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="352"/>
<location filename="../../NUSGet.py" line="393"/>
<source>An Unknown Error has Occurred!</source>
<translation>Ein unbekannter Fehler ist aufgetreten.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="354"/>
<location filename="../../NUSGet.py" line="395"/>
<source>Please try again. If this issue persists, please open a new issue on GitHub detailing what you were trying to do when this error occurred.</source>
<translation>Versuchen Sie es erneut. Sofern das Problem bestehen bleibt, können Sie ein Issue auf GitHub öffnen, um den Fehler zu berichten.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="373"/>
<location filename="../../NUSGet.py" line="414"/>
<source>Script Issues Occurred</source>
<translation>Script-Fehler</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="374"/>
<location filename="../../NUSGet.py" line="415"/>
<source>Some issues occurred while running the download script.</source>
<translation>Ein Fehler ist im Script aufgetreten.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="376"/>
<location filename="../../NUSGet.py" line="417"/>
<source>Check the log for more details about what issues were encountered.</source>
<translatorcomment>To keep the indirectness of other text, this was changed to &quot;Error details have been written to the log.&quot;</translatorcomment>
<translation>Fehlerdetails wurden in den Log geschrieben.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="383"/>
<location filename="../../NUSGet.py" line="424"/>
<source>The following titles could not be downloaded due to an error. Please ensure that the Title ID and version listed in the script are valid.</source>
<translation>Die angezeigten Titel konnten wegen einem Fehler nicht heruntergeladen werden. Die Title-ID oder Version im Script könnte wohlmöglich fehlerhaft sein.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="393"/>
<location filename="../../NUSGet.py" line="434"/>
<source>You enabled &quot;Create decrypted contents&quot; or &quot;Pack installable archive&quot;, but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
<translation>&quot;Entschlüsselte Inhalte speichern&quot; bzw. &quot;Installierbar verpacken&quot; ist aktiv, jedoch fehlen Tickets für die angezeigten Titel. Sofern aktiv werden die verschlüsselten Inhalte trotzdem heruntergeladen.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="412"/>
<location filename="../../NUSGet.py" line="453"/>
<source>Script Download Failed</source>
<translation>Script-Herunterladen fehlgeschlagen</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="413"/>
<location filename="../../NUSGet.py" line="454"/>
<source>Open NUS Script</source>
<translatorcomment>Translating the file type is pointless, since it&apos;s not an actual &quot;script&quot;</translatorcomment>
<translation>NUS-Script öffnen</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="414"/>
<location filename="../../NUSGet.py" line="455"/>
<source>NUS Scripts (*.nus *.json)</source>
<translatorcomment>&quot;Scripts&quot; isn&apos;t the correct way to pluralize a word, and &quot;Scripte&quot; would misalign with referring to them as &quot;Script&quot;, so we just keep it as-is (it sounds plural enough anyway!)</translatorcomment>
<translation>NUS-Script (*.nus *.json)</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="424"/>
<location filename="../../NUSGet.py" line="465"/>
<source>An error occurred while parsing the script file!</source>
<translation>Ein Fehler ist während des Parsen des Script aufgetreten.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="425"/>
<location filename="../../NUSGet.py" line="466"/>
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
<translation>Ein Fehler wurde in Linie {e.lineno}, Spalte {e.colno} gefunden. Das Script muss korrigiert werden.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="434"/>
<location filename="../../NUSGet.py" line="475"/>
<source>An error occurred while parsing Title IDs!</source>
<translation>Ein Fehler ist während des Parsen der Title-IDs aufgetreten.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="435"/>
<location filename="../../NUSGet.py" line="476"/>
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
<translation>Der Titel an Stelle {script_data.index(title)} hat keine Title-ID.</translation>
</message>
<message>
<location filename="../../modules/core.py" line="54"/>
<location filename="../../NUSGet.py" line="529"/>
<source>Open Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../NUSGet.py" line="541"/>
<source>Please make sure the download directory you want to use exists, and that you have permission to access it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../modules/core.py" line="60"/>
<source>
Could not check for updates.</source>
@@ -228,7 +255,7 @@ Could not check for updates.</source>
Konnte nicht nach Updates suchen.</translation>
</message>
<message>
<location filename="../../modules/core.py" line="62"/>
<location filename="../../modules/core.py" line="68"/>
<source>
There&apos;s a newer version of NUSGet available!</source>
@@ -237,7 +264,7 @@ There&apos;s a newer version of NUSGet available!</source>
Eine neuere Version von NUSGet ist verfügbar.</translation>
</message>
<message>
<location filename="../../modules/core.py" line="64"/>
<location filename="../../modules/core.py" line="70"/>
<source>
You&apos;re running the latest release of NUSGet.</source>
@@ -316,73 +343,88 @@ Die neuste Version von NUSGet ist bereits aktiv.</translation>
<translation>Einstellungen</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="269"/>
<location filename="../../qt/ui/MainMenu.ui" line="272"/>
<source>Pack installable archive (WAD/TAD)</source>
<translation>Installierbar verpacken (WAD/TAD)</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="284"/>
<location filename="../../qt/ui/MainMenu.ui" line="287"/>
<source>File Name</source>
<translation>Dateiname</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="318"/>
<location filename="../../qt/ui/MainMenu.ui" line="321"/>
<source>Keep encrypted contents</source>
<translation>Verschlüsselte Inhalte speichern</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="354"/>
<location filename="../../qt/ui/MainMenu.ui" line="357"/>
<source>Create decrypted contents (*.app)</source>
<translation>Entschlüsselte Inhalte speichern (*.app)</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="393"/>
<location filename="../../qt/ui/MainMenu.ui" line="396"/>
<source>Use local files, if they exist</source>
<translation>Lokale Dateien nutzen, sofern verfügbar</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="438"/>
<location filename="../../qt/ui/MainMenu.ui" line="441"/>
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
<translation>Wii U-NUS nutzen (schneller, gilt nur für Wii/vWii)</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="480"/>
<location filename="../../qt/ui/MainMenu.ui" line="483"/>
<source>Apply patches to IOS (Applies to WADs only)</source>
<translatorcomment>&quot;Patch&quot; does not have a good translation into German, and in most modding forums, it&apos;s used as is</translatorcomment>
<translation>Patches für IOS anwenden (Gilt nur für WAD)</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="536"/>
<location filename="../../qt/ui/MainMenu.ui" line="539"/>
<source>vWii Title Settings</source>
<translation>vWii Titel-Einstellungen</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="570"/>
<location filename="../../qt/ui/MainMenu.ui" line="573"/>
<source>Re-encrypt title using the Wii Common Key</source>
<translatorcomment>Common key does not get translated</translatorcomment>
<translation>Titel mit dem Common-Key der Wii neu verschlüsseln</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="587"/>
<location filename="../../qt/ui/MainMenu.ui" line="590"/>
<source>App Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="609"/>
<location filename="../../qt/ui/MainMenu.ui" line="612"/>
<source>Check for updates on startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="663"/>
<location filename="../../qt/ui/MainMenu.ui" line="636"/>
<source>Use custom download directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="650"/>
<source>Output Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="660"/>
<source>Open...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="714"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;meta charset=&quot;utf-8&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
hr { height: 1px; border-width: 0; }
li.unchecked::marker { content: &quot;\2610&quot;; }
li.checked::marker { content: &quot;\2612&quot;; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Noto Sans&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
</context>
</TS>