Compare commits

...

3 Commits

Author SHA1 Message Date
rougets
c8737ad507
Update French translations (#29)
* l10n: update French translation file

* l10n: update MainWindow French translations

* l10n: add AboutNUSGet French translations
2025-05-12 18:34:26 -04:00
f76ad67108
Fix image prefix path on Windows 2025-05-12 18:30:50 -04:00
2557ad236e
Added custom information icon, should fix clipping on Windows 2025-05-12 18:22:05 -04:00
4 changed files with 148 additions and 93 deletions

View File

@ -129,6 +129,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.ui.menuHelp.setWindowFlags(self.ui.menuHelp.windowFlags() | Qt.FramelessWindowHint)
self.ui.menuHelp.setWindowFlags(self.ui.menuHelp.windowFlags() | Qt.NoDropShadowWindowHint)
self.ui.menuHelp.setAttribute(Qt.WA_TranslucentBackground)
# Load the custom information icon.
icon = QIcon(os.path.join(os.path.dirname(__file__), "resources", "information.svg"))
self.ui.actionAbout.setIcon(icon)
self.ui.actionAbout_Qt.setIcon(icon)
# Title tree loading code. Now powered by Models:tm:
wii_model = NUSGetTreeModel(wii_database, root_name="Wii Titles")
vwii_model = NUSGetTreeModel(vwii_database, root_name="vWii Titles")

View File

@ -73,7 +73,7 @@ class AboutNUSGet(QDialog):
# Logo
logo_label = QLabel()
icon = QIcon(os.path.join(pathlib.Path(os.path.dirname(__file__)).resolve().parent.parent, "resources", "icon.png"))
icon = QIcon(str(pathlib.Path(os.path.dirname(__file__)).parents[1].joinpath("resources", "icon.png")))
logo_pixmap = icon.pixmap(96, 96)
logo_label.setPixmap(logo_pixmap)
logo_label.setAlignment(Qt.AlignmentFlag.AlignCenter)

46
resources/information.svg Normal file
View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="32"
height="32"
viewBox="0 0 32 32"
version="1.1"
id="svg1"
inkscape:version="1.4.1 (93de688d07, 2025-03-30)"
sodipodi:docname="information.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="2"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="25.125"
inkscape:cx="16.139303"
inkscape:cy="16.79602"
inkscape:window-width="1920"
inkscape:window-height="1012"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path1"
style="fill:#ffffff;stroke:#ffffff;stroke-width:1.3063;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
d="M 16 1.6523438 A 14.346852 14.346854 0 0 0 1.6523438 16 A 14.346852 14.346854 0 0 0 16 30.347656 A 14.346852 14.346854 0 0 0 30.347656 16 A 14.346852 14.346854 0 0 0 16 1.6523438 z M 15.992188 4.7265625 C 16.642424 4.7265625 17.197259 4.94079 17.65625 5.3710938 C 18.124803 5.8013975 18.359375 6.3235594 18.359375 6.9355469 C 18.359375 7.5475344 18.124803 8.0677432 17.65625 8.4980469 C 17.197259 8.9283506 16.642424 9.1445312 15.992188 9.1445312 C 15.341951 9.1445312 14.787116 8.9283506 14.328125 8.4980469 C 13.869134 8.0677432 13.640625 7.5475344 13.640625 6.9355469 C 13.640625 6.3235594 13.869134 5.8013975 14.328125 5.3710938 C 14.787116 4.94079 15.341951 4.7265625 15.992188 4.7265625 z M 13.841797 11.238281 L 18.144531 11.238281 L 18.144531 27.273438 L 13.841797 27.273438 L 13.841797 11.238281 z " />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -6,67 +6,68 @@
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="16"/>
<source>About NUSGet</source>
<translation type="unfinished"></translation>
<translation>À propos de NUSGet</translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="82"/>
<source>NUSGet</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="87"/>
<source>Version {nusget_version}</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="93"/>
<source>Using libWiiPy {libwiipy_version} &amp; libTWLPy {libtwlpy_version}</source>
<translation type="unfinished"></translation>
<translation>Utilise libWiiPy {libwiipy_version} et libTWLPy {libtwlpy_version}</translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="98"/>
<source>© 2024-2025 NinjaCheetah &amp; Contributors</source>
<translation type="unfinished"></translation>
<translatorcomment>In French, we need to translate both genders for Contributors, just because.</translatorcomment>
<translation>© 2024-2025 NinjaCheetah, contributeurs et contributrices</translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="114"/>
<source>View Project on GitHub</source>
<translation type="unfinished"></translation>
<translation>Voir le projet sur GitHub</translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="130"/>
<source>Translations</source>
<translation type="unfinished"></translation>
<translation>Traductions</translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="138"/>
<source>French (Français): &lt;a href=https://github.com/rougets style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;rougets&lt;/b&gt;&lt;/a&gt;</source>
<translation type="unfinished"></translation>
<translation>Français : &lt;a href=https://github.com/rougets style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;rougets&lt;/b&gt;&lt;/a&gt;</translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="140"/>
<source>German (Deutsch): &lt;a href=https://github.com/yeah-its-gloria style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;yeah-its-gloria&lt;/b&gt;&lt;/a&gt;</source>
<translation type="unfinished"></translation>
<translation>Allemand (Deutsch) : &lt;a href=https://github.com/yeah-its-gloria style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;yeah-its-gloria&lt;/b&gt;&lt;/a&gt;</translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="142"/>
<source>Italian (Italiano): &lt;a href=https://github.com/LNLenost style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;LNLenost&lt;/b&gt;&lt;/a&gt;</source>
<translation type="unfinished"></translation>
<translation>Italien (Italiano) : &lt;a href=https://github.com/LNLenost style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;LNLenost&lt;/b&gt;&lt;/a&gt;</translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="144"/>
<source>Korean (): &lt;a href=https://github.com/DDinghoya style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;DDinghoya&lt;/b&gt;&lt;/a&gt;</source>
<translation type="unfinished"></translation>
<translation>Coréen () : &lt;a href=https://github.com/DDinghoya style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;DDinghoya&lt;/b&gt;&lt;/a&gt;</translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="146"/>
<source>Norwegian (Norsk): &lt;a href=https://github.com/rolfiee style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;rolfiee&lt;/b&gt;&lt;/a&gt;</source>
<translation type="unfinished"></translation>
<translation>Norvégien (Norsk) : &lt;a href=https://github.com/rolfiee style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;rolfiee&lt;/b&gt;&lt;/a&gt;</translation>
</message>
<message>
<location filename="../../qt/py/ui_AboutDialog.py" line="148"/>
<source>Romanian (Română): &lt;a href=https://github.com/NotImplementedLife style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;NotImplementedLife&lt;/b&gt;&lt;/a&gt;</source>
<translation type="unfinished"></translation>
<translation>Roumain (Română) : &lt;a href=https://github.com/NotImplementedLife style=&apos;color: #4a86e8; text-decoration: none;&apos;&gt;&lt;b&gt;NotImplementedLife&lt;/b&gt;&lt;/a&gt;</translation>
</message>
</context>
<context>
@ -94,7 +95,7 @@ Les titres marqués d&apos;une coche sont gratuits et ont un billet disponible,
Les titres seront téléchargés dans un dossier &quot;NUSGet Downloads&quot;, à l&apos;intérieur de votre dossier de téléchargements.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="232"/>
<location filename="../../NUSGet.py" line="238"/>
<source>NUSGet Update Available</source>
<translation>Mise à jour NUSGet disponible</translation>
</message>
@ -109,105 +110,109 @@ Les titres seront téléchargés dans un dossier &quot;NUSGet Downloads&quot;,
Titles marked with a checkmark are free and have a ticket available, and can be decrypted and/or packed into a WAD or TAD. Titles with an X do not have a ticket, and only their encrypted contents can be saved.
By default, titles will be downloaded to a folder named &quot;NUSGet Downloads&quot; inside your downloads folder.</source>
<translation type="unfinished"></translation>
<translation>Choisissez un titre depuis la liste à gauche, ou saisissez un ID de titre pour commencer.
Les titres marqués d&apos;une coche sont gratuits et ont un billet disponible, et peuvent être décryptés et/ou empaquetés dans un fichier WAD ou TAD. Les titres marqués d&apos;une croix n&apos;ont pas de billets, et seul leur contenu crypté peut être enregistré.
Les titres seront téléchargés dans un dossier &quot;NUSGet Downloads&quot;, à l&apos;intérieur de votre dossier de téléchargements.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="163"/>
<location filename="../../NUSGet.py" line="169"/>
<source>Use the Wii U NUS (faster, only affects Wii/vWii)</source>
<translation type="unfinished"></translation>
<translation>Utiliser le NUS Wii U (plus rapide, n&apos;affecte que Wii / vWii)</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="233"/>
<location filename="../../NUSGet.py" line="239"/>
<source>&lt;b&gt;There&apos;s a newer version of NUSGet available!&lt;/b&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;Une nouvelle version de NUSGet est disponible !&lt;/b&gt;</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="334"/>
<location filename="../../NUSGet.py" line="340"/>
<source>No Output Selected</source>
<translation>Aucun format sélectionné</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="335"/>
<location filename="../../NUSGet.py" line="341"/>
<source>You have not selected any format to output the data in!</source>
<translation>Veuillez sélectionner un format de sortie pour les données !</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="337"/>
<location filename="../../NUSGet.py" line="343"/>
<source>Please select at least one option for how you would like the download to be saved.</source>
<translation>Veuillez sélectionner au moins une option de téléchargement.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="349"/>
<location filename="../../NUSGet.py" line="553"/>
<location filename="../../NUSGet.py" line="355"/>
<location filename="../../NUSGet.py" line="559"/>
<source>Invalid Download Directory</source>
<translation type="unfinished"></translation>
<translation>Dossier de téléchargement invalide</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="350"/>
<location filename="../../NUSGet.py" line="356"/>
<source>The specified download directory does not exist!</source>
<translation type="unfinished"></translation>
<translation>Le dossier de téléchargement choisi n&apos;existe pas !</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="353"/>
<location filename="../../NUSGet.py" line="359"/>
<source>Please make sure the specified download directory exists, and that you have permission to access it.</source>
<translation type="unfinished"></translation>
<translation>Assurez-vous que votre dossier de téléchargement existe, et que vous avez les droits suffisants pour y accéder.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="383"/>
<location filename="../../NUSGet.py" line="389"/>
<source>Invalid Title ID</source>
<translation>ID de titre invalide</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="384"/>
<location filename="../../NUSGet.py" line="390"/>
<source>&lt;b&gt;The Title ID you have entered is not in a valid format!&lt;/b&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;L&apos;ID de titre que vous avez saisi a un format invalide !&lt;/b&gt;</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="389"/>
<location filename="../../NUSGet.py" line="395"/>
<source>&lt;b&gt;No title with the provided Title ID or version could be found!&lt;/b&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;Aucun titre trouvé pour l&apos;ID ou la version fourni !&lt;/b&gt;</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="394"/>
<location filename="../../NUSGet.py" line="400"/>
<source>&lt;b&gt;Content decryption was not successful! Decrypted contents could not be created.&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../NUSGet.py" line="401"/>
<source>&lt;b&gt;No Ticket is Available for the Requested Title!&lt;/b&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;Le décryptage du contenu a échoué ! Le contenu décrypté ne peut être créé.&lt;/b&gt;</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="407"/>
<source>&lt;b&gt;No Ticket is Available for the Requested Title!&lt;/b&gt;</source>
<translation>&lt;b&gt;Aucun billet disponible pour le titre demandé !&lt;/b&gt;</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="413"/>
<source>&lt;b&gt;An Unknown Error has Occurred!&lt;/b&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;Une erreur inconnue est survenue !&lt;/b&gt;</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="429"/>
<location filename="../../NUSGet.py" line="435"/>
<source>&lt;b&gt;Some issues occurred while running the download script.&lt;/b&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;Des erreurs sont survenues pendant l&apos;exécution du script de téléchargement.&lt;/b&gt;</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="479"/>
<location filename="../../NUSGet.py" line="485"/>
<source>&lt;b&gt;An error occurred while parsing the script file!&lt;/b&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;Une erreur est survenue pendant la lecture du script !&lt;/b&gt;</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="489"/>
<location filename="../../NUSGet.py" line="495"/>
<source>&lt;b&gt;An error occurred while parsing Title IDs!&lt;/b&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;Une erreur est survenue à la lecture d&apos;un ID de titre !&lt;/b&gt;</translation>
</message>
<message>
<source>The Title ID you have entered is not in a valid format!</source>
<translation type="vanished">L&apos;ID de titre que vous avez saisi a un format invalide !</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="386"/>
<location filename="../../NUSGet.py" line="392"/>
<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>Les ID de titre doivent être composés de 16 caractères alphanumériques. Veuillez saisir un ID formaté correctement, ou sélectionnez-en un depuis le menu de gauche.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="388"/>
<location filename="../../NUSGet.py" line="394"/>
<source>Title ID/Version Not Found</source>
<translation>ID de titre / Version introuvable</translation>
</message>
@ -216,12 +221,12 @@ By default, titles will be downloaded to a folder named &quot;NUSGet Downloads&q
<translation type="vanished">Aucun titre trouvé pour l&apos;ID ou la version fourni !</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="391"/>
<location filename="../../NUSGet.py" line="397"/>
<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>Veuillez vous assurez que vous avez saisi un ID valide, ou sélectionnez-en un depuis la base de données, et que la version fournie existe pour le titre que vous souhaitez télécharger.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="393"/>
<location filename="../../NUSGet.py" line="399"/>
<source>Content Decryption Failed</source>
<translation>Échec du décryptage</translation>
</message>
@ -230,12 +235,12 @@ By default, titles will be downloaded to a folder named &quot;NUSGet Downloads&q
<translation type="vanished">Le décryptage du contenu a échoué ! Le contenu décrypté ne peut être créé.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="397"/>
<location filename="../../NUSGet.py" line="403"/>
<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>Vos métadonnées (TMD) ou le billet sont probablement endommagés, ou ils ne correspondent pas au contenu décrypté. Si vous avez coché &quot;Utiliser des fichiers locaux, s&apos;ils existent&quot;, essayez de désactiver cette option avant d&apos;essayer à nouveau pour résoudre les éventuelles erreurs avec les données locales.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="400"/>
<location filename="../../NUSGet.py" line="406"/>
<source>Ticket Not Available</source>
<translation>Billet indisponible</translation>
</message>
@ -244,12 +249,12 @@ By default, titles will be downloaded to a folder named &quot;NUSGet Downloads&q
<translation type="vanished">Aucun billet disponible pour le titre demandé !</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="404"/>
<location filename="../../NUSGet.py" line="410"/>
<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>Un billet ne peut être téléchargé pour le titre demandé, mais vous avez sélectionné &quot;Empaqueter une archive d&apos;installation&quot; ou &quot;Décrypter le contenu&quot;. Ces options sont indisponibles pour les titres sans billet. Seul le contenu crypté a é enregistré.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="406"/>
<location filename="../../NUSGet.py" line="412"/>
<source>Unknown Error</source>
<translation>Erreur inconnue</translation>
</message>
@ -258,12 +263,12 @@ By default, titles will be downloaded to a folder named &quot;NUSGet Downloads&q
<translation type="vanished">Une erreur inconnue est survenue !</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="409"/>
<location filename="../../NUSGet.py" line="415"/>
<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>Veuillez essayer à nouveau. Si le problème persiste, déclarez un problème sur GitHub en décrivant les actions qui ont provoqué l&apos;erreur.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="428"/>
<location filename="../../NUSGet.py" line="434"/>
<source>Script Issues Occurred</source>
<translation>Erreurs survenues dans le script</translation>
</message>
@ -272,32 +277,32 @@ By default, titles will be downloaded to a folder named &quot;NUSGet Downloads&q
<translation type="vanished">Des erreurs sont survenues pendant l&apos;exécution du script de téléchargement.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="431"/>
<location filename="../../NUSGet.py" line="437"/>
<source>Check the log for more details about what issues were encountered.</source>
<translation>Vérifiez le journal pour plus de détails à propos des erreurs rencontrées.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="438"/>
<location filename="../../NUSGet.py" line="444"/>
<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>Le téléchargement des titres suivants a échoué. Assurez-vous que les ID de titre et version du script soient valides.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="448"/>
<location filename="../../NUSGet.py" line="454"/>
<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>Vous avez activé &quot;Décrypter le contenu&quot; ou &quot;Empaqueter une archive d&apos;installation&quot;, mais les billets des titres suivants sont indisponibles. Si activé(s), le contenu crypté a é téléchargé.</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="467"/>
<location filename="../../NUSGet.py" line="473"/>
<source>Script Download Failed</source>
<translation>Échec du script de téléchargement</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="468"/>
<location filename="../../NUSGet.py" line="474"/>
<source>Open NUS Script</source>
<translation>Ouvrir un script NUS</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="469"/>
<location filename="../../NUSGet.py" line="475"/>
<source>NUS Scripts (*.nus *.json)</source>
<translation>Scripts NUS (*.nus *.json)</translation>
</message>
@ -306,7 +311,7 @@ By default, titles will be downloaded to a folder named &quot;NUSGet Downloads&q
<translation type="vanished">Une erreur est survenue pendant la lecture du script !</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="480"/>
<location filename="../../NUSGet.py" line="486"/>
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
<translation>Erreur recontrée ligne {e.lineno}, colonne {e.colno}. Vérifiez le script et réessayez.</translation>
</message>
@ -315,24 +320,24 @@ By default, titles will be downloaded to a folder named &quot;NUSGet Downloads&q
<translation type="vanished">Une erreur est survenue à la lecture d&apos;un ID de titre !</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="490"/>
<location filename="../../NUSGet.py" line="496"/>
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
<translation>Le titre à l&apos;index {script_data.index(title)} n&apos;a pas d&apos;ID !</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="543"/>
<location filename="../../NUSGet.py" line="549"/>
<source>Open Directory</source>
<translation type="unfinished"></translation>
<translation>Ouvrir un dossier</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="554"/>
<location filename="../../NUSGet.py" line="560"/>
<source>&lt;b&gt;The specified download directory does not exist!&lt;/b&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;Le dossier de téléchargement choisi n&apos;existe pas !&lt;/b&gt;</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="557"/>
<location filename="../../NUSGet.py" line="563"/>
<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>
<translation>Assurez-vous que votre dossier de téléchargement existe, et que vous avez les droits suffisants pour y accéder.</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="26"/>
@ -409,15 +414,15 @@ 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;.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 type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="464"/>
<source>About NUSGet</source>
<translation type="unfinished"></translation>
<translation>À propos de NUSGet</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="157"/>
<location filename="../../NUSGet.py" line="163"/>
<source>Pack installable archive (WAD/TAD)</source>
<translation>Empaqueter une archive d&apos;installation (WAD / TAD)</translation>
</message>
@ -427,17 +432,17 @@ li.checked::marker { content: &quot;\2612&quot;; }
<translation>Nom du fichier</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="159"/>
<location filename="../../NUSGet.py" line="165"/>
<source>Keep encrypted contents</source>
<translation>Conserver le contenu crypté</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="161"/>
<location filename="../../NUSGet.py" line="167"/>
<source>Create decrypted contents (*.app)</source>
<translation>Décrypter le contenu (*.app)</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="162"/>
<location filename="../../NUSGet.py" line="168"/>
<source>Use local files, if they exist</source>
<translation>Utiliser des fichiers locaux, s&apos;ils existent</translation>
</message>
@ -446,7 +451,7 @@ li.checked::marker { content: &quot;\2612&quot;; }
<translation type="vanished">Utiliser le NUS Wii U (plus rapide, n&apos;affecte que Wii / vWii)</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="165"/>
<location filename="../../NUSGet.py" line="171"/>
<source>Apply patches to IOS (Applies to WADs only)</source>
<translation>Appliquer des modifications aux IOS (WAD uniquement)</translation>
</message>
@ -456,47 +461,47 @@ li.checked::marker { content: &quot;\2612&quot;; }
<translation>Titres vWii</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="166"/>
<location filename="../../NUSGet.py" line="172"/>
<source>Re-encrypt title using the Wii Common Key</source>
<translation>Encrypter le titre avec la clé commune Wii</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="343"/>
<source>App Settings</source>
<translation type="unfinished"></translation>
<translation>Paramètres</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="167"/>
<location filename="../../NUSGet.py" line="173"/>
<source>Check for updates on startup</source>
<translation type="unfinished"></translation>
<translation>Vérifier les mises à jour au démarrage</translation>
</message>
<message>
<location filename="../../NUSGet.py" line="168"/>
<location filename="../../NUSGet.py" line="174"/>
<source>Use a custom download directory</source>
<translation type="unfinished"></translation>
<translation>Utiliser un dossier de téléchargement différent</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="371"/>
<source>Select...</source>
<translation type="unfinished"></translation>
<translation>Choisir</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="451"/>
<source>Help</source>
<translation type="unfinished"></translation>
<translation>Aide</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="475"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
<translation>À propos de Qt</translation>
</message>
<message>
<location filename="../../qt/ui/MainMenu.ui" line="361"/>
<source>Output Path</source>
<translation type="unfinished"></translation>
<translation>Dossier de téléchargement</translation>
</message>
<message>
<location filename="../../modules/core.py" line="60"/>
<location filename="../../modules/core.py" line="68"/>
<source>
Could not check for updates.</source>
@ -505,7 +510,7 @@ Could not check for updates.</source>
Impossible de vérifier les mises à jour.</translation>
</message>
<message>
<location filename="../../modules/core.py" line="70"/>
<location filename="../../modules/core.py" line="78"/>
<source>
There&apos;s a newer version of NUSGet available!</source>
@ -514,7 +519,7 @@ There&apos;s a newer version of NUSGet available!</source>
Une nouvelle version de NUSGet est disponible !</translation>
</message>
<message>
<location filename="../../modules/core.py" line="72"/>
<location filename="../../modules/core.py" line="80"/>
<source>
You&apos;re running the latest release of NUSGet.</source>