forked from NinjaCheetah/NUSGet
Compare commits
12 Commits
724c7e554b
...
v1.3.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
f2ae4b26ba
|
|||
|
|
adea7ad35f | ||
|
87905eab2b
|
|||
|
5e37dce4e3
|
|||
|
|
748123d190 | ||
|
18f351c481
|
|||
|
49e53bf064
|
|||
|
|
102e741a4e | ||
|
|
0edff8e5e9 | ||
|
|
76ee01c07d | ||
|
588b44381c
|
|||
|
9dcaa22e89
|
4
.github/workflows/python-build.yml
vendored
4
.github/workflows/python-build.yml
vendored
@@ -19,7 +19,9 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Install ccache for Nuitka
|
- name: Install ccache for Nuitka
|
||||||
run: sudo apt update && sudo apt install -y ccache libicu70
|
run: |
|
||||||
|
sudo apt update && \
|
||||||
|
sudo apt install -y ccache patchelf
|
||||||
- name: Set up Python 3.12
|
- name: Set up Python 3.12
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
|
|||||||
4
Makefile
4
Makefile
@@ -6,8 +6,10 @@ all:
|
|||||||
$(CC) --show-progress --assume-yes-for-downloads NUSGet.py $(ARCH_FLAGS) -o NUSGet
|
$(CC) --show-progress --assume-yes-for-downloads NUSGet.py $(ARCH_FLAGS) -o NUSGet
|
||||||
|
|
||||||
install:
|
install:
|
||||||
|
rm -rd /opt/NUSGet/
|
||||||
install -d /opt/NUSGet
|
install -d /opt/NUSGet
|
||||||
install NUSGet /opt/NUSGet/
|
cp -r ./NUSGet.dist/* /opt/NUSGet/
|
||||||
|
chmod 755 /opt/NUSGet/
|
||||||
install ./packaging/icon.png /opt/NUSGet/NUSGet.png
|
install ./packaging/icon.png /opt/NUSGet/NUSGet.png
|
||||||
install ./packaging/NUSGet.desktop /usr/share/applications
|
install ./packaging/NUSGet.desktop /usr/share/applications
|
||||||
|
|
||||||
|
|||||||
77
NUSGet.py
77
NUSGet.py
@@ -1,5 +1,5 @@
|
|||||||
# "NUSGet.py", licensed under the MIT license
|
# "NUSGet.py", licensed under the MIT license
|
||||||
# Copyright 2024 NinjaCheetah
|
# Copyright 2024-2025 NinjaCheetah
|
||||||
|
|
||||||
# Nuitka options. These determine compilation settings based on the current OS.
|
# Nuitka options. These determine compilation settings based on the current OS.
|
||||||
# nuitka-project-if: {OS} == "Darwin":
|
# nuitka-project-if: {OS} == "Darwin":
|
||||||
@@ -33,7 +33,7 @@ from PySide6.QtCore import QRunnable, Slot, QThreadPool, Signal, QObject, QLibra
|
|||||||
from qt.py.ui_MainMenu import Ui_MainWindow
|
from qt.py.ui_MainMenu import Ui_MainWindow
|
||||||
|
|
||||||
from modules.core import *
|
from modules.core import *
|
||||||
from modules.tree import NUSGetTreeModel
|
from modules.tree import NUSGetTreeModel, TIDFilterProxyModel
|
||||||
from modules.download_batch import run_nus_download_batch
|
from modules.download_batch import run_nus_download_batch
|
||||||
from modules.download_wii import run_nus_download_wii
|
from modules.download_wii import run_nus_download_wii
|
||||||
from modules.download_dsi import run_nus_download_dsi
|
from modules.download_dsi import run_nus_download_dsi
|
||||||
@@ -82,7 +82,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
self.threadpool = QThreadPool()
|
self.threadpool = QThreadPool()
|
||||||
self.ui.download_btn.clicked.connect(self.download_btn_pressed)
|
self.ui.download_btn.clicked.connect(self.download_btn_pressed)
|
||||||
self.ui.script_btn.clicked.connect(self.script_btn_pressed)
|
self.ui.script_btn.clicked.connect(self.script_btn_pressed)
|
||||||
self.ui.pack_archive_chkbox.clicked.connect(self.pack_wad_chkbox_toggled)
|
self.ui.pack_archive_chkbox.toggled.connect(
|
||||||
|
lambda: self.ui.archive_file_entry.setEnabled(self.ui.pack_archive_chkbox.isChecked()))
|
||||||
self.ui.tid_entry.textChanged.connect(self.tid_updated)
|
self.ui.tid_entry.textChanged.connect(self.tid_updated)
|
||||||
# Basic intro text set to automatically show when the app loads. This may be changed in the future.
|
# Basic intro text set to automatically show when the app loads. This may be changed in the future.
|
||||||
libwiipy_version = "v" + version("libWiiPy")
|
libwiipy_version = "v" + version("libWiiPy")
|
||||||
@@ -93,7 +94,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
"Titles marked with a checkmark are free and have a ticket available, and can"
|
"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 "
|
" 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.\n\nTitles will be "
|
"a ticket, and only their encrypted contents can be saved.\n\nTitles will be "
|
||||||
"downloaded to a folder named \"NUSGet\" inside your downloads folder.")
|
"downloaded to a folder named \"NUSGet Downloads\" inside your downloads folder.")
|
||||||
.format(nusget_version=nusget_version, libwiipy_version=libwiipy_version,
|
.format(nusget_version=nusget_version, libwiipy_version=libwiipy_version,
|
||||||
libtwlpy_version=libtwlpy_version))
|
libtwlpy_version=libtwlpy_version))
|
||||||
self.ui.log_text_browser.setText(self.log_text)
|
self.ui.log_text_browser.setText(self.log_text)
|
||||||
@@ -106,14 +107,32 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
wii_model = NUSGetTreeModel(wii_database, root_name="Wii Titles")
|
wii_model = NUSGetTreeModel(wii_database, root_name="Wii Titles")
|
||||||
vwii_model = NUSGetTreeModel(vwii_database, root_name="vWii Titles")
|
vwii_model = NUSGetTreeModel(vwii_database, root_name="vWii Titles")
|
||||||
dsi_model = NUSGetTreeModel(dsi_database, root_name="DSi Titles")
|
dsi_model = NUSGetTreeModel(dsi_database, root_name="DSi Titles")
|
||||||
self.ui.wii_title_tree.setModel(wii_model)
|
self.tree_models = [wii_model, vwii_model, dsi_model]
|
||||||
self.ui.wii_title_tree.doubleClicked.connect(self.title_double_clicked)
|
self.trees = [self.ui.wii_title_tree, self.ui.vwii_title_tree, self.ui.dsi_title_tree]
|
||||||
self.ui.vwii_title_tree.setModel(vwii_model)
|
# Build proxy models required for searching
|
||||||
self.ui.vwii_title_tree.doubleClicked.connect(self.title_double_clicked)
|
self.proxy_models = [TIDFilterProxyModel(self.ui.wii_title_tree), TIDFilterProxyModel(self.ui.vwii_title_tree),
|
||||||
self.ui.dsi_title_tree.setModel(dsi_model)
|
TIDFilterProxyModel(self.ui.dsi_title_tree)]
|
||||||
self.ui.dsi_title_tree.doubleClicked.connect(self.title_double_clicked)
|
for model in range(len(self.proxy_models)):
|
||||||
|
self.proxy_models[model].setSourceModel(self.tree_models[model])
|
||||||
|
self.proxy_models[model].setFilterKeyColumn(0)
|
||||||
|
self.ui.tree_filter_input.textChanged.connect(lambda: self.filter_text_updated(self.ui.platform_tabs.currentIndex()))
|
||||||
|
self.ui.tree_filter_reset_btn.clicked.connect(lambda: self.ui.tree_filter_input.setText(""))
|
||||||
|
for tree in range(len(self.trees)):
|
||||||
|
self.trees[tree].setModel(self.proxy_models[tree])
|
||||||
|
self.trees[tree].doubleClicked.connect(self.title_double_clicked)
|
||||||
|
self.trees[tree].expanded.connect(lambda: self.resize_tree(self.ui.platform_tabs.currentIndex()))
|
||||||
|
self.trees[tree].collapsed.connect(lambda: self.resize_tree(self.ui.platform_tabs.currentIndex()))
|
||||||
# Prevent resizing.
|
# Prevent resizing.
|
||||||
self.setFixedSize(self.size())
|
self.setFixedSize(self.size())
|
||||||
|
# These connections allow for clicking the checkbox labels to toggle the checkboxes, if they're enabled. This is
|
||||||
|
# required because checkboxes can't word wrap, so regular labels must be used in their place.
|
||||||
|
connect_label_to_checkbox(self.ui.pack_archive_chkbox_lbl, self.ui.pack_archive_chkbox)
|
||||||
|
connect_label_to_checkbox(self.ui.keep_enc_chkbox_lbl, self.ui.keep_enc_chkbox)
|
||||||
|
connect_label_to_checkbox(self.ui.create_dec_chkbox_lbl, self.ui.create_dec_chkbox)
|
||||||
|
connect_label_to_checkbox(self.ui.use_local_chkbox_lbl, self.ui.use_local_chkbox)
|
||||||
|
connect_label_to_checkbox(self.ui.use_wiiu_nus_chkbox_lbl, self.ui.use_wiiu_nus_chkbox)
|
||||||
|
connect_label_to_checkbox(self.ui.patch_ios_chkbox_lbl, self.ui.patch_ios_chkbox)
|
||||||
|
connect_label_to_checkbox(self.ui.pack_vwii_mode_chkbox_lbl, self.ui.pack_vwii_mode_chkbox)
|
||||||
# Do a quick check to see if there's a newer release available, and inform the user if there is.
|
# Do a quick check to see if there's a newer release available, and inform the user if there is.
|
||||||
worker = Worker(check_nusget_updates, app, nusget_version)
|
worker = Worker(check_nusget_updates, app, nusget_version)
|
||||||
worker.signals.result.connect(self.prompt_for_update)
|
worker.signals.result.connect(self.prompt_for_update)
|
||||||
@@ -122,13 +141,31 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
|
|
||||||
def title_double_clicked(self, index):
|
def title_double_clicked(self, index):
|
||||||
if self.ui.download_btn.isEnabled() is True:
|
if self.ui.download_btn.isEnabled() is True:
|
||||||
title = index.internalPointer().metadata
|
# Need to map the proxy index to the source index because we're using a proxy model for searching. If we
|
||||||
|
# don't, this for some reason isn't handled by PySide and causes a segfault.
|
||||||
|
source_index = self.proxy_models[self.ui.platform_tabs.currentIndex()].mapToSource(index)
|
||||||
|
title = source_index.internalPointer().metadata
|
||||||
if title is not None:
|
if title is not None:
|
||||||
self.ui.console_select_dropdown.setCurrentIndex(self.ui.platform_tabs.currentIndex())
|
self.ui.console_select_dropdown.setCurrentIndex(self.ui.platform_tabs.currentIndex())
|
||||||
selected_title = TitleData(title.tid, title.name, title.archive_name, title.version, title.ticket,
|
selected_title = TitleData(title.tid, title.name, title.archive_name, title.version, title.ticket,
|
||||||
title.region, title.category, title.danger)
|
title.region, title.category, title.danger)
|
||||||
self.load_title_data(selected_title)
|
self.load_title_data(selected_title)
|
||||||
|
|
||||||
|
def filter_text_updated(self, target: int):
|
||||||
|
text = self.ui.tree_filter_input.text()
|
||||||
|
if text != "":
|
||||||
|
self.trees[target].expandToDepth(0)
|
||||||
|
else:
|
||||||
|
self.trees[target].collapseAll()
|
||||||
|
self.proxy_models[target].setFilterRegularExpression(text)
|
||||||
|
self.trees[target].resizeColumnToContents(0)
|
||||||
|
|
||||||
|
def resize_tree(self, target: int):
|
||||||
|
text = self.ui.tree_filter_input.text()
|
||||||
|
if text == "":
|
||||||
|
tree = self.trees[target]
|
||||||
|
tree.resizeColumnToContents(0)
|
||||||
|
|
||||||
def tid_updated(self):
|
def tid_updated(self):
|
||||||
tid = self.ui.tid_entry.text()
|
tid = self.ui.tid_entry.text()
|
||||||
if len(tid) == 16:
|
if len(tid) == 16:
|
||||||
@@ -214,6 +251,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
self.ui.keep_enc_chkbox.setEnabled(False)
|
self.ui.keep_enc_chkbox.setEnabled(False)
|
||||||
self.ui.create_dec_chkbox.setEnabled(False)
|
self.ui.create_dec_chkbox.setEnabled(False)
|
||||||
self.ui.use_local_chkbox.setEnabled(False)
|
self.ui.use_local_chkbox.setEnabled(False)
|
||||||
|
self.ui.patch_ios_chkbox.setEnabled(False)
|
||||||
self.ui.use_wiiu_nus_chkbox.setEnabled(False)
|
self.ui.use_wiiu_nus_chkbox.setEnabled(False)
|
||||||
self.ui.pack_vwii_mode_chkbox.setEnabled(False)
|
self.ui.pack_vwii_mode_chkbox.setEnabled(False)
|
||||||
self.ui.archive_file_entry.setEnabled(False)
|
self.ui.archive_file_entry.setEnabled(False)
|
||||||
@@ -231,6 +269,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
self.ui.keep_enc_chkbox.setEnabled(True)
|
self.ui.keep_enc_chkbox.setEnabled(True)
|
||||||
self.ui.create_dec_chkbox.setEnabled(True)
|
self.ui.create_dec_chkbox.setEnabled(True)
|
||||||
self.ui.use_local_chkbox.setEnabled(True)
|
self.ui.use_local_chkbox.setEnabled(True)
|
||||||
|
self.ui.patch_ios_chkbox.setEnabled(True)
|
||||||
self.ui.use_wiiu_nus_chkbox.setEnabled(True)
|
self.ui.use_wiiu_nus_chkbox.setEnabled(True)
|
||||||
self.ui.console_select_dropdown.setEnabled(True)
|
self.ui.console_select_dropdown.setEnabled(True)
|
||||||
if self.ui.pack_archive_chkbox.isChecked() is True:
|
if self.ui.pack_archive_chkbox.isChecked() is True:
|
||||||
@@ -314,8 +353,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
|
|
||||||
def check_batch_result(self, result: BatchResults):
|
def check_batch_result(self, result: BatchResults):
|
||||||
if result.code != 0:
|
if result.code != 0:
|
||||||
print(result.warning_titles)
|
|
||||||
print(result.failed_titles)
|
|
||||||
msg_box = QMessageBox()
|
msg_box = QMessageBox()
|
||||||
if result.failed_titles:
|
if result.failed_titles:
|
||||||
msg_box.setIcon(QMessageBox.Icon.Critical)
|
msg_box.setIcon(QMessageBox.Icon.Critical)
|
||||||
@@ -348,14 +385,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
self.update_log_text(f" - {title}")
|
self.update_log_text(f" - {title}")
|
||||||
self.unlock_ui()
|
self.unlock_ui()
|
||||||
|
|
||||||
def pack_wad_chkbox_toggled(self):
|
|
||||||
# Simple function to catch when the WAD/TAD checkbox is toggled and enable/disable the file name entry box
|
|
||||||
# accordingly.
|
|
||||||
if self.ui.pack_archive_chkbox.isChecked() is True:
|
|
||||||
self.ui.archive_file_entry.setEnabled(True)
|
|
||||||
else:
|
|
||||||
self.ui.archive_file_entry.setEnabled(False)
|
|
||||||
|
|
||||||
def selected_console_changed(self):
|
def selected_console_changed(self):
|
||||||
# Callback function to enable or disable console-specific settings based on the selected console.
|
# Callback function to enable or disable console-specific settings based on the selected console.
|
||||||
if self.ui.console_select_dropdown.currentText() == "vWii":
|
if self.ui.console_select_dropdown.currentText() == "vWii":
|
||||||
@@ -463,9 +492,9 @@ if __name__ == "__main__":
|
|||||||
else:
|
else:
|
||||||
location = pathlib.Path(os.path.expanduser('~')).joinpath('Downloads')
|
location = pathlib.Path(os.path.expanduser('~')).joinpath('Downloads')
|
||||||
# Build the path by combining the path to the Downloads photo with "NUSGet".
|
# Build the path by combining the path to the Downloads photo with "NUSGet".
|
||||||
out_folder = location.joinpath("NUSGet")
|
out_folder = location.joinpath("NUSGet Downloads")
|
||||||
# Create the "NUSGet" directory if it doesn't exist. In the future, this will be user-customizable, but this works
|
# Create the "NUSGet Downloads" directory if it doesn't exist. In the future, this will be user-customizable, but
|
||||||
# for now, and avoids the issues from when it used to use a directory next to the binary (mostly on macOS).
|
# this works for now, and avoids using a directory next to the binary (mostly an issue on macOS/Linux).
|
||||||
if not out_folder.is_dir():
|
if not out_folder.is_dir():
|
||||||
out_folder.mkdir()
|
out_folder.mkdir()
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# NUSGet After Dark
|
# NUSGet
|
||||||
A modern and supercharged NUS downloader built with Python and Qt6. Powered by libWiiPy and libTWLPy. Fork with features not acceptable for prod.
|
A modern and supercharged NUS downloader built with Python and Qt6. Powered by libWiiPy and libTWLPy.
|
||||||
|
|
||||||
[](https://github.com/NinjaCheetah/NUSGet/actions/workflows/python-build.yml)
|
[](https://github.com/NinjaCheetah/NUSGet/actions/workflows/python-build.yml)
|
||||||
|
|
||||||
@@ -12,12 +12,11 @@ NUSGet also offers the ability to create vWii WADs that can be installed from wi
|
|||||||
|
|
||||||
The following features are available for all supported consoles:
|
The following features are available for all supported consoles:
|
||||||
- Downloading encrypted contents (files like `00000000`, `00000001`, etc.) directly from the update servers for any title.
|
- Downloading encrypted contents (files like `00000000`, `00000001`, etc.) directly from the update servers for any title.
|
||||||
- Creating decrypted contents (*.app files) from the encrypted contents on the servers.
|
- Creating decrypted contents (*.app files) from the encrypted contents on the servers. Only supported for free titles.
|
||||||
- Scripting support, allowing you to perform batch downloads of any titles for the Wii, vWii, or DSi in one script. (See `example-script.json` for an example of the scripting format.)
|
- Scripting support, allowing you to perform batch downloads of any titles for the Wii, vWii, or DSi in one script. (See `example-script.json` for an example of the scripting format.)
|
||||||
|
|
||||||
**For Wii and vWii titles only:**
|
**For Wii and vWii titles only:**
|
||||||
- "Pack installable archive (WAD/TAD)": Pack the encrypted contents, TMD, and Ticket into a WAD file that can be installed on a Wii or in Dolphin Emulator.
|
- "Pack installable archive (WAD/TAD)": Pack the encrypted contents, TMD, and Ticket into a WAD file that can be installed on a Wii or in Dolphin Emulator. Only supported for free titles.
|
||||||
- Forging Tickets for titles without a common Ticket available on the NUS by using the Title Key algorithm to derive the key needed to decrypt the title.
|
|
||||||
|
|
||||||
**For vWii titles only:**
|
**For vWii titles only:**
|
||||||
- "Re-encrypt title using the Wii Common Key": Re-encrypt the Title Key in a vWii title's Ticket before packing the WAD, so that the WAD can be installed via a normal WAD manager on the vWii, and can be extracted with legacy tools. **This also creates WADs that can be installed directly in Dolphin, allowing for running the vWii System Menu in Dolphin without a vWii NAND dump!**
|
- "Re-encrypt title using the Wii Common Key": Re-encrypt the Title Key in a vWii title's Ticket before packing the WAD, so that the WAD can be installed via a normal WAD manager on the vWii, and can be extracted with legacy tools. **This also creates WADs that can be installed directly in Dolphin, allowing for running the vWii System Menu in Dolphin without a vWii NAND dump!**
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# "build_translations.py", licensed under the MIT license
|
# "build_translations.py", licensed under the MIT license
|
||||||
# Copyright 2024 NinjaCheetah
|
# Copyright 2024-2025 NinjaCheetah
|
||||||
# This script exists to work around an issue in PySide6 where the "pyside6-project build" command incorrectly places
|
# This script exists to work around an issue in PySide6 where the "pyside6-project build" command incorrectly places
|
||||||
# translation files in the root of the project directory while building.
|
# translation files in the root of the project directory while building.
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
# "modules/core.py", licensed under the MIT license
|
# "modules/core.py", licensed under the MIT license
|
||||||
# Copyright 2024 NinjaCheetah
|
# Copyright 2024-2025 NinjaCheetah
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
from PySide6.QtCore import Qt as _Qt
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class TitleData:
|
class TitleData:
|
||||||
@@ -36,6 +38,13 @@ class BatchResults:
|
|||||||
failed_titles: List[str]
|
failed_titles: List[str]
|
||||||
|
|
||||||
|
|
||||||
|
def connect_label_to_checkbox(label, checkbox):
|
||||||
|
def toggle_checkbox(event):
|
||||||
|
if checkbox.isEnabled() and event.button() == _Qt.LeftButton:
|
||||||
|
checkbox.toggle()
|
||||||
|
label.mousePressEvent = toggle_checkbox
|
||||||
|
|
||||||
|
|
||||||
def check_nusget_updates(app, current_version: str, progress_callback=None) -> str | None:
|
def check_nusget_updates(app, current_version: str, progress_callback=None) -> str | None:
|
||||||
# Simple function to make a request to the GitHub API and then check if the latest available version is newer.
|
# Simple function to make a request to the GitHub API and then check if the latest available version is newer.
|
||||||
gh_api_request = requests.get(url="https://api.github.com/repos/NinjaCheetah/NUSGet/releases/latest", stream=True)
|
gh_api_request = requests.get(url="https://api.github.com/repos/NinjaCheetah/NUSGet/releases/latest", stream=True)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# "modules/download_batch.py", licensed under the MIT license
|
# "modules/download_batch.py", licensed under the MIT license
|
||||||
# Copyright 2024 NinjaCheetah
|
# Copyright 2024-2025 NinjaCheetah
|
||||||
|
|
||||||
import pathlib
|
import pathlib
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# "modules/download_dsi.py", licensed under the MIT license
|
# "modules/download_dsi.py", licensed under the MIT license
|
||||||
# Copyright 2024 NinjaCheetah
|
# Copyright 2024-2025 NinjaCheetah
|
||||||
|
|
||||||
import pathlib
|
import pathlib
|
||||||
from typing import List, Tuple
|
from typing import List, Tuple
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
# "modules/download_wii.py", licensed under the MIT license
|
# "modules/download_wii.py", licensed under the MIT license
|
||||||
# Copyright 2024 NinjaCheetah
|
# Copyright 2024-2025 NinjaCheetah
|
||||||
|
|
||||||
import pathlib
|
import pathlib
|
||||||
from typing import List, Tuple
|
from typing import List, Tuple
|
||||||
from .tkey import find_tkey
|
|
||||||
import libWiiPy
|
import libWiiPy
|
||||||
from libWiiPy.title.ticket import _TitleLimit
|
|
||||||
|
|
||||||
|
|
||||||
def run_nus_download_wii(out_folder: pathlib.Path, tid: str, version: str, pack_wad_chkbox: bool, keep_enc_chkbox: bool,
|
def run_nus_download_wii(out_folder: pathlib.Path, tid: str, version: str, pack_wad_chkbox: bool, keep_enc_chkbox: bool,
|
||||||
@@ -53,7 +52,6 @@ def run_nus_download_wii(out_folder: pathlib.Path, tid: str, version: str, pack_
|
|||||||
# Write out the TMD to a file.
|
# Write out the TMD to a file.
|
||||||
version_dir.joinpath(f"tmd.{title_version}").write_bytes(title.tmd.dump())
|
version_dir.joinpath(f"tmd.{title_version}").write_bytes(title.tmd.dump())
|
||||||
# Use a local ticket, if one exists and "use local files" is enabled.
|
# Use a local ticket, if one exists and "use local files" is enabled.
|
||||||
forge_ticket = False
|
|
||||||
if use_local_chkbox and version_dir.joinpath("tik").exists():
|
if use_local_chkbox and version_dir.joinpath("tik").exists():
|
||||||
progress_callback.emit(" - Parsing local copy of Ticket...")
|
progress_callback.emit(" - Parsing local copy of Ticket...")
|
||||||
title.load_ticket(version_dir.joinpath("tik").read_bytes())
|
title.load_ticket(version_dir.joinpath("tik").read_bytes())
|
||||||
@@ -63,10 +61,11 @@ def run_nus_download_wii(out_folder: pathlib.Path, tid: str, version: str, pack_
|
|||||||
title.load_ticket(libWiiPy.title.download_ticket(tid, wiiu_endpoint=wiiu_nus_enabled))
|
title.load_ticket(libWiiPy.title.download_ticket(tid, wiiu_endpoint=wiiu_nus_enabled))
|
||||||
version_dir.joinpath("tik").write_bytes(title.ticket.dump())
|
version_dir.joinpath("tik").write_bytes(title.ticket.dump())
|
||||||
except ValueError:
|
except ValueError:
|
||||||
# If libWiiPy returns an error, then no ticket is available. Try to forge a ticket after we download the
|
# If libWiiPy returns an error, then no ticket is available. Log this, and disable options requiring a
|
||||||
# content.
|
# ticket so that they aren't attempted later.
|
||||||
progress_callback.emit(" - No Ticket is available! Will try forging a Ticket.")
|
progress_callback.emit(" - No Ticket is available!")
|
||||||
forge_ticket = True
|
pack_wad_enabled = False
|
||||||
|
decrypt_contents_enabled = False
|
||||||
# Load the content records from the TMD, and begin iterating over the records.
|
# Load the content records from the TMD, and begin iterating over the records.
|
||||||
title.load_content_records()
|
title.load_content_records()
|
||||||
content_list = []
|
content_list = []
|
||||||
@@ -88,39 +87,6 @@ def run_nus_download_wii(out_folder: pathlib.Path, tid: str, version: str, pack_
|
|||||||
if keep_enc_chkbox is True:
|
if keep_enc_chkbox is True:
|
||||||
version_dir.joinpath(content_file_name).write_bytes(content_list[content])
|
version_dir.joinpath(content_file_name).write_bytes(content_list[content])
|
||||||
title.content.content_list = content_list
|
title.content.content_list = content_list
|
||||||
# Try to forge a Ticket, if a common one wasn't available.
|
|
||||||
if forge_ticket is True:
|
|
||||||
progress_callback.emit(" - Attempting to forge Ticket...")
|
|
||||||
try:
|
|
||||||
title_key = find_tkey(tid, title.content.content_list[0], title.tmd.content_records[0])
|
|
||||||
title_key_enc = libWiiPy.title.encrypt_title_key(title_key, 0, tid)
|
|
||||||
ticket = libWiiPy.title.Ticket()
|
|
||||||
ticket.common_key_index = 0
|
|
||||||
ticket.console_id = 0
|
|
||||||
ticket.content_access_permissions = b'\xff' * 64
|
|
||||||
ticket.ecdh_data = b'\x00' * 60
|
|
||||||
ticket.permit_mask = b'\x00' * 4
|
|
||||||
ticket.permitted_titles = b'\x00' * 4
|
|
||||||
ticket.signature = b'\x00' * 256
|
|
||||||
ticket.signature_issuer = "Root-CA00000001-XS00000003" + ("\x00" * 38)
|
|
||||||
ticket.signature_type = b'\x00\x01' * 2
|
|
||||||
ticket.ticket_id = b'\x00' * 8
|
|
||||||
ticket.ticket_version = 0
|
|
||||||
ticket.title_export_allowed = 0
|
|
||||||
ticket.title_id = tid.encode()
|
|
||||||
ticket.title_key_enc = title_key_enc
|
|
||||||
ticket.title_limits_list = [_TitleLimit(0, 0) for _ in range(0, 8)]
|
|
||||||
ticket.title_version = 0
|
|
||||||
ticket.unknown1 = b'\xff' * 2
|
|
||||||
ticket.unknown2 = b'\x00' * 48
|
|
||||||
ticket.fakesign()
|
|
||||||
title.ticket = ticket
|
|
||||||
version_dir.joinpath("tik").write_bytes(title.ticket.dump())
|
|
||||||
progress_callback.emit(" - Successfully forged Ticket!")
|
|
||||||
except Exception:
|
|
||||||
progress_callback.emit(" - Ticket could not be forged!")
|
|
||||||
pack_wad_enabled = False
|
|
||||||
decrypt_contents_enabled = False
|
|
||||||
# If decrypt local contents is still true, decrypt each content and write out the decrypted file.
|
# If decrypt local contents is still true, decrypt each content and write out the decrypted file.
|
||||||
if decrypt_contents_enabled is True:
|
if decrypt_contents_enabled is True:
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -1,53 +0,0 @@
|
|||||||
# "tkey-gen.py", licensed under the MIT license
|
|
||||||
# Copyright 2024 NinjaCheetah
|
|
||||||
|
|
||||||
import binascii
|
|
||||||
import hashlib
|
|
||||||
import libWiiPy
|
|
||||||
from libWiiPy.types import _ContentRecord
|
|
||||||
|
|
||||||
|
|
||||||
def _secret(start, length):
|
|
||||||
ret = b''
|
|
||||||
add = start + length
|
|
||||||
for _ in range(length):
|
|
||||||
unsigned_start = start & 0xFF # Compensates for how Python handles negative values vs PHP.
|
|
||||||
ret += bytes.fromhex(f"{unsigned_start:02x}"[-2:])
|
|
||||||
nxt = start + add
|
|
||||||
add = start
|
|
||||||
start = nxt
|
|
||||||
return ret
|
|
||||||
|
|
||||||
|
|
||||||
def _mungetid(tid):
|
|
||||||
# Remove leading zeroes from the TID.
|
|
||||||
while tid.startswith("00"):
|
|
||||||
tid = tid[2:]
|
|
||||||
if tid == "":
|
|
||||||
tid = "00"
|
|
||||||
# In PHP, the last character just gets dropped if you make a hex string from an odd-length input, so this
|
|
||||||
# replicates that functionality.
|
|
||||||
if len(tid) % 2 != 0:
|
|
||||||
tid = tid[:-1]
|
|
||||||
return bytes.fromhex(tid)
|
|
||||||
|
|
||||||
|
|
||||||
def _derive_key(tid, passwd):
|
|
||||||
key_secret = _secret(-3, 10)
|
|
||||||
salt = hashlib.md5(key_secret + _mungetid(tid)).digest()
|
|
||||||
# Had to reduce the length here from 32 to 16 when converting to get the same length keys.
|
|
||||||
return hashlib.pbkdf2_hmac("sha1", passwd.encode(), salt, 20, 16).hex()
|
|
||||||
|
|
||||||
|
|
||||||
def find_tkey(tid: str, banner_enc: bytes, content_record: _ContentRecord) -> bytes:
|
|
||||||
# Find a working Title Key by generating a key with a password, then decrypting content 0 and comparing it to the
|
|
||||||
# expected hash. If the hash matches, then we generated the correct key.
|
|
||||||
passwds = ["nintendo", "mypass"]
|
|
||||||
for passwd in passwds:
|
|
||||||
key = binascii.unhexlify(_derive_key(tid, passwd).encode())
|
|
||||||
banner_dec = libWiiPy.title.decrypt_content(banner_enc, key, content_record.index, content_record.content_size)
|
|
||||||
banner_dec_hash = hashlib.sha1(banner_dec).hexdigest()
|
|
||||||
content_record_hash = content_record.content_hash.decode()
|
|
||||||
if banner_dec_hash == content_record_hash:
|
|
||||||
return key
|
|
||||||
raise Exception("Valid Title Key could not be generated")
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
# "modules/tree.py", licensed under the MIT license
|
# "modules/tree.py", licensed under the MIT license
|
||||||
# Copyright 2024 NinjaCheetah
|
# Copyright 2024-2025 NinjaCheetah
|
||||||
|
|
||||||
from modules.core import TitleData
|
from modules.core import TitleData
|
||||||
from PySide6.QtCore import QAbstractItemModel, QModelIndex, Qt
|
from PySide6.QtCore import QAbstractItemModel, QModelIndex, Qt, QSortFilterProxyModel
|
||||||
from PySide6.QtGui import QIcon
|
from PySide6.QtGui import QIcon
|
||||||
|
|
||||||
|
|
||||||
@@ -135,3 +135,29 @@ class NUSGetTreeModel(QAbstractItemModel):
|
|||||||
return QModelIndex()
|
return QModelIndex()
|
||||||
|
|
||||||
return self.createIndex(parent_item.row(), 0, parent_item)
|
return self.createIndex(parent_item.row(), 0, parent_item)
|
||||||
|
|
||||||
|
class TIDFilterProxyModel(QSortFilterProxyModel):
|
||||||
|
def filterAcceptsRow(self, source_row, source_parent):
|
||||||
|
source_model = self.sourceModel()
|
||||||
|
index = source_model.index(source_row, 0, source_parent)
|
||||||
|
item = index.internalPointer()
|
||||||
|
|
||||||
|
filter_text = self.filterRegularExpression().pattern().lower()
|
||||||
|
# If the item matches what the user searched for.
|
||||||
|
if item and filter_text in item.data_at(0).lower():
|
||||||
|
return True
|
||||||
|
# Check if children match, though I don't think this matters because the children of a title will always just
|
||||||
|
# be regions.
|
||||||
|
for i in range(source_model.rowCount(index)):
|
||||||
|
if self.filterAcceptsRow(i, index):
|
||||||
|
return True
|
||||||
|
# Keep the regions and versions under those for any titles that matched, so you can actually download from the
|
||||||
|
# search results.
|
||||||
|
parent_item = index.parent().internalPointer() if index.parent().isValid() else None
|
||||||
|
if parent_item and filter_text in parent_item.data_at(0).lower():
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
grandparent_item = index.parent().parent().internalPointer() if index.parent().parent().isValid() else None
|
||||||
|
if grandparent_item and filter_text in grandparent_item.data_at(0).lower():
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=NUSGet
|
Name=NUSGet
|
||||||
Exec=/opt/NUSGet/NUSGet %U
|
Exec=/opt/NUSGet/NUSGet.bin %U
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
Icon=/opt/NUSGet/NUSGet.png
|
Icon=/opt/NUSGet/NUSGet.png
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 40 KiB |
@@ -35,21 +35,38 @@ class Ui_MainWindow(object):
|
|||||||
self.horizontalLayout_3.setSizeConstraint(QLayout.SizeConstraint.SetDefaultConstraint)
|
self.horizontalLayout_3.setSizeConstraint(QLayout.SizeConstraint.SetDefaultConstraint)
|
||||||
self.vertical_layout_trees = QVBoxLayout()
|
self.vertical_layout_trees = QVBoxLayout()
|
||||||
self.vertical_layout_trees.setObjectName(u"vertical_layout_trees")
|
self.vertical_layout_trees.setObjectName(u"vertical_layout_trees")
|
||||||
self.label_2 = QLabel(self.centralwidget)
|
self.tree_filter_layout = QHBoxLayout()
|
||||||
self.label_2.setObjectName(u"label_2")
|
self.tree_filter_layout.setObjectName(u"tree_filter_layout")
|
||||||
font = QFont()
|
self.tree_filter_input = QLineEdit(self.centralwidget)
|
||||||
font.setBold(True)
|
self.tree_filter_input.setObjectName(u"tree_filter_input")
|
||||||
self.label_2.setFont(font)
|
sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.tree_filter_input.sizePolicy().hasHeightForWidth())
|
||||||
|
self.tree_filter_input.setSizePolicy(sizePolicy)
|
||||||
|
|
||||||
self.vertical_layout_trees.addWidget(self.label_2)
|
self.tree_filter_layout.addWidget(self.tree_filter_input)
|
||||||
|
|
||||||
|
self.tree_filter_reset_btn = QPushButton(self.centralwidget)
|
||||||
|
self.tree_filter_reset_btn.setObjectName(u"tree_filter_reset_btn")
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Fixed)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.tree_filter_reset_btn.sizePolicy().hasHeightForWidth())
|
||||||
|
self.tree_filter_reset_btn.setSizePolicy(sizePolicy1)
|
||||||
|
|
||||||
|
self.tree_filter_layout.addWidget(self.tree_filter_reset_btn)
|
||||||
|
|
||||||
|
|
||||||
|
self.vertical_layout_trees.addLayout(self.tree_filter_layout)
|
||||||
|
|
||||||
self.platform_tabs = QTabWidget(self.centralwidget)
|
self.platform_tabs = QTabWidget(self.centralwidget)
|
||||||
self.platform_tabs.setObjectName(u"platform_tabs")
|
self.platform_tabs.setObjectName(u"platform_tabs")
|
||||||
sizePolicy = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Expanding)
|
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Expanding)
|
||||||
sizePolicy.setHorizontalStretch(0)
|
sizePolicy2.setHorizontalStretch(0)
|
||||||
sizePolicy.setVerticalStretch(0)
|
sizePolicy2.setVerticalStretch(0)
|
||||||
sizePolicy.setHeightForWidth(self.platform_tabs.sizePolicy().hasHeightForWidth())
|
sizePolicy2.setHeightForWidth(self.platform_tabs.sizePolicy().hasHeightForWidth())
|
||||||
self.platform_tabs.setSizePolicy(sizePolicy)
|
self.platform_tabs.setSizePolicy(sizePolicy2)
|
||||||
self.platform_tabs.setMinimumSize(QSize(410, 0))
|
self.platform_tabs.setMinimumSize(QSize(410, 0))
|
||||||
self.platform_tabs.setMaximumSize(QSize(410, 16777215))
|
self.platform_tabs.setMaximumSize(QSize(410, 16777215))
|
||||||
self.wii_tab = QWidget()
|
self.wii_tab = QWidget()
|
||||||
@@ -128,21 +145,18 @@ class Ui_MainWindow(object):
|
|||||||
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
self.download_btn = QPushButton(self.centralwidget)
|
self.download_btn = QPushButton(self.centralwidget)
|
||||||
self.download_btn.setObjectName(u"download_btn")
|
self.download_btn.setObjectName(u"download_btn")
|
||||||
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.Fixed)
|
sizePolicy3 = QSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.Fixed)
|
||||||
sizePolicy1.setHorizontalStretch(0)
|
sizePolicy3.setHorizontalStretch(0)
|
||||||
sizePolicy1.setVerticalStretch(0)
|
sizePolicy3.setVerticalStretch(0)
|
||||||
sizePolicy1.setHeightForWidth(self.download_btn.sizePolicy().hasHeightForWidth())
|
sizePolicy3.setHeightForWidth(self.download_btn.sizePolicy().hasHeightForWidth())
|
||||||
self.download_btn.setSizePolicy(sizePolicy1)
|
self.download_btn.setSizePolicy(sizePolicy3)
|
||||||
|
|
||||||
self.horizontalLayout.addWidget(self.download_btn)
|
self.horizontalLayout.addWidget(self.download_btn)
|
||||||
|
|
||||||
self.script_btn = QPushButton(self.centralwidget)
|
self.script_btn = QPushButton(self.centralwidget)
|
||||||
self.script_btn.setObjectName(u"script_btn")
|
self.script_btn.setObjectName(u"script_btn")
|
||||||
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
|
sizePolicy.setHeightForWidth(self.script_btn.sizePolicy().hasHeightForWidth())
|
||||||
sizePolicy2.setHorizontalStretch(0)
|
self.script_btn.setSizePolicy(sizePolicy)
|
||||||
sizePolicy2.setVerticalStretch(0)
|
|
||||||
sizePolicy2.setHeightForWidth(self.script_btn.sizePolicy().hasHeightForWidth())
|
|
||||||
self.script_btn.setSizePolicy(sizePolicy2)
|
|
||||||
|
|
||||||
self.horizontalLayout.addWidget(self.script_btn)
|
self.horizontalLayout.addWidget(self.script_btn)
|
||||||
|
|
||||||
@@ -158,6 +172,8 @@ class Ui_MainWindow(object):
|
|||||||
self.verticalLayout_7.setSizeConstraint(QLayout.SizeConstraint.SetMinimumSize)
|
self.verticalLayout_7.setSizeConstraint(QLayout.SizeConstraint.SetMinimumSize)
|
||||||
self.label_3 = QLabel(self.centralwidget)
|
self.label_3 = QLabel(self.centralwidget)
|
||||||
self.label_3.setObjectName(u"label_3")
|
self.label_3.setObjectName(u"label_3")
|
||||||
|
font = QFont()
|
||||||
|
font.setBold(True)
|
||||||
self.label_3.setFont(font)
|
self.label_3.setFont(font)
|
||||||
|
|
||||||
self.verticalLayout_7.addWidget(self.label_3)
|
self.verticalLayout_7.addWidget(self.label_3)
|
||||||
@@ -167,25 +183,22 @@ class Ui_MainWindow(object):
|
|||||||
self.pack_archive_row.setObjectName(u"pack_archive_row")
|
self.pack_archive_row.setObjectName(u"pack_archive_row")
|
||||||
self.pack_archive_chkbox = QCheckBox(self.centralwidget)
|
self.pack_archive_chkbox = QCheckBox(self.centralwidget)
|
||||||
self.pack_archive_chkbox.setObjectName(u"pack_archive_chkbox")
|
self.pack_archive_chkbox.setObjectName(u"pack_archive_chkbox")
|
||||||
sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Fixed)
|
sizePolicy1.setHeightForWidth(self.pack_archive_chkbox.sizePolicy().hasHeightForWidth())
|
||||||
sizePolicy3.setHorizontalStretch(0)
|
self.pack_archive_chkbox.setSizePolicy(sizePolicy1)
|
||||||
sizePolicy3.setVerticalStretch(0)
|
|
||||||
sizePolicy3.setHeightForWidth(self.pack_archive_chkbox.sizePolicy().hasHeightForWidth())
|
|
||||||
self.pack_archive_chkbox.setSizePolicy(sizePolicy3)
|
|
||||||
self.pack_archive_chkbox.setText(u"")
|
self.pack_archive_chkbox.setText(u"")
|
||||||
|
|
||||||
self.pack_archive_row.addWidget(self.pack_archive_chkbox)
|
self.pack_archive_row.addWidget(self.pack_archive_chkbox)
|
||||||
|
|
||||||
self.label_7 = QLabel(self.centralwidget)
|
self.pack_archive_chkbox_lbl = QLabel(self.centralwidget)
|
||||||
self.label_7.setObjectName(u"label_7")
|
self.pack_archive_chkbox_lbl.setObjectName(u"pack_archive_chkbox_lbl")
|
||||||
sizePolicy4 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.MinimumExpanding)
|
sizePolicy4 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.MinimumExpanding)
|
||||||
sizePolicy4.setHorizontalStretch(0)
|
sizePolicy4.setHorizontalStretch(0)
|
||||||
sizePolicy4.setVerticalStretch(0)
|
sizePolicy4.setVerticalStretch(0)
|
||||||
sizePolicy4.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
|
sizePolicy4.setHeightForWidth(self.pack_archive_chkbox_lbl.sizePolicy().hasHeightForWidth())
|
||||||
self.label_7.setSizePolicy(sizePolicy4)
|
self.pack_archive_chkbox_lbl.setSizePolicy(sizePolicy4)
|
||||||
self.label_7.setWordWrap(True)
|
self.pack_archive_chkbox_lbl.setWordWrap(True)
|
||||||
|
|
||||||
self.pack_archive_row.addWidget(self.label_7)
|
self.pack_archive_row.addWidget(self.pack_archive_chkbox_lbl)
|
||||||
|
|
||||||
|
|
||||||
self.verticalLayout_7.addLayout(self.pack_archive_row)
|
self.verticalLayout_7.addLayout(self.pack_archive_row)
|
||||||
@@ -201,20 +214,20 @@ class Ui_MainWindow(object):
|
|||||||
self.keep_enc_row.setObjectName(u"keep_enc_row")
|
self.keep_enc_row.setObjectName(u"keep_enc_row")
|
||||||
self.keep_enc_chkbox = QCheckBox(self.centralwidget)
|
self.keep_enc_chkbox = QCheckBox(self.centralwidget)
|
||||||
self.keep_enc_chkbox.setObjectName(u"keep_enc_chkbox")
|
self.keep_enc_chkbox.setObjectName(u"keep_enc_chkbox")
|
||||||
sizePolicy3.setHeightForWidth(self.keep_enc_chkbox.sizePolicy().hasHeightForWidth())
|
sizePolicy1.setHeightForWidth(self.keep_enc_chkbox.sizePolicy().hasHeightForWidth())
|
||||||
self.keep_enc_chkbox.setSizePolicy(sizePolicy3)
|
self.keep_enc_chkbox.setSizePolicy(sizePolicy1)
|
||||||
self.keep_enc_chkbox.setText(u"")
|
self.keep_enc_chkbox.setText(u"")
|
||||||
self.keep_enc_chkbox.setChecked(True)
|
self.keep_enc_chkbox.setChecked(True)
|
||||||
|
|
||||||
self.keep_enc_row.addWidget(self.keep_enc_chkbox)
|
self.keep_enc_row.addWidget(self.keep_enc_chkbox)
|
||||||
|
|
||||||
self.label_6 = QLabel(self.centralwidget)
|
self.keep_enc_chkbox_lbl = QLabel(self.centralwidget)
|
||||||
self.label_6.setObjectName(u"label_6")
|
self.keep_enc_chkbox_lbl.setObjectName(u"keep_enc_chkbox_lbl")
|
||||||
sizePolicy4.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
|
sizePolicy4.setHeightForWidth(self.keep_enc_chkbox_lbl.sizePolicy().hasHeightForWidth())
|
||||||
self.label_6.setSizePolicy(sizePolicy4)
|
self.keep_enc_chkbox_lbl.setSizePolicy(sizePolicy4)
|
||||||
self.label_6.setWordWrap(True)
|
self.keep_enc_chkbox_lbl.setWordWrap(True)
|
||||||
|
|
||||||
self.keep_enc_row.addWidget(self.label_6)
|
self.keep_enc_row.addWidget(self.keep_enc_chkbox_lbl)
|
||||||
|
|
||||||
|
|
||||||
self.verticalLayout_7.addLayout(self.keep_enc_row)
|
self.verticalLayout_7.addLayout(self.keep_enc_row)
|
||||||
@@ -224,8 +237,8 @@ class Ui_MainWindow(object):
|
|||||||
self.create_dec_row.setObjectName(u"create_dec_row")
|
self.create_dec_row.setObjectName(u"create_dec_row")
|
||||||
self.create_dec_chkbox = QCheckBox(self.centralwidget)
|
self.create_dec_chkbox = QCheckBox(self.centralwidget)
|
||||||
self.create_dec_chkbox.setObjectName(u"create_dec_chkbox")
|
self.create_dec_chkbox.setObjectName(u"create_dec_chkbox")
|
||||||
sizePolicy3.setHeightForWidth(self.create_dec_chkbox.sizePolicy().hasHeightForWidth())
|
sizePolicy1.setHeightForWidth(self.create_dec_chkbox.sizePolicy().hasHeightForWidth())
|
||||||
self.create_dec_chkbox.setSizePolicy(sizePolicy3)
|
self.create_dec_chkbox.setSizePolicy(sizePolicy1)
|
||||||
self.create_dec_chkbox.setText(u"")
|
self.create_dec_chkbox.setText(u"")
|
||||||
|
|
||||||
self.create_dec_row.addWidget(self.create_dec_chkbox)
|
self.create_dec_row.addWidget(self.create_dec_chkbox)
|
||||||
@@ -247,8 +260,8 @@ class Ui_MainWindow(object):
|
|||||||
self.use_local_chkbox = QCheckBox(self.centralwidget)
|
self.use_local_chkbox = QCheckBox(self.centralwidget)
|
||||||
self.use_local_chkbox.setObjectName(u"use_local_chkbox")
|
self.use_local_chkbox.setObjectName(u"use_local_chkbox")
|
||||||
self.use_local_chkbox.setEnabled(True)
|
self.use_local_chkbox.setEnabled(True)
|
||||||
sizePolicy3.setHeightForWidth(self.use_local_chkbox.sizePolicy().hasHeightForWidth())
|
sizePolicy1.setHeightForWidth(self.use_local_chkbox.sizePolicy().hasHeightForWidth())
|
||||||
self.use_local_chkbox.setSizePolicy(sizePolicy3)
|
self.use_local_chkbox.setSizePolicy(sizePolicy1)
|
||||||
self.use_local_chkbox.setText(u"")
|
self.use_local_chkbox.setText(u"")
|
||||||
|
|
||||||
self.use_local_row.addWidget(self.use_local_chkbox)
|
self.use_local_row.addWidget(self.use_local_chkbox)
|
||||||
@@ -270,8 +283,8 @@ class Ui_MainWindow(object):
|
|||||||
self.use_wiiu_nus_row.setSizeConstraint(QLayout.SizeConstraint.SetDefaultConstraint)
|
self.use_wiiu_nus_row.setSizeConstraint(QLayout.SizeConstraint.SetDefaultConstraint)
|
||||||
self.use_wiiu_nus_chkbox = QCheckBox(self.centralwidget)
|
self.use_wiiu_nus_chkbox = QCheckBox(self.centralwidget)
|
||||||
self.use_wiiu_nus_chkbox.setObjectName(u"use_wiiu_nus_chkbox")
|
self.use_wiiu_nus_chkbox.setObjectName(u"use_wiiu_nus_chkbox")
|
||||||
sizePolicy.setHeightForWidth(self.use_wiiu_nus_chkbox.sizePolicy().hasHeightForWidth())
|
sizePolicy2.setHeightForWidth(self.use_wiiu_nus_chkbox.sizePolicy().hasHeightForWidth())
|
||||||
self.use_wiiu_nus_chkbox.setSizePolicy(sizePolicy)
|
self.use_wiiu_nus_chkbox.setSizePolicy(sizePolicy2)
|
||||||
self.use_wiiu_nus_chkbox.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
|
self.use_wiiu_nus_chkbox.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
|
||||||
self.use_wiiu_nus_chkbox.setText(u"")
|
self.use_wiiu_nus_chkbox.setText(u"")
|
||||||
self.use_wiiu_nus_chkbox.setChecked(True)
|
self.use_wiiu_nus_chkbox.setChecked(True)
|
||||||
@@ -295,20 +308,20 @@ class Ui_MainWindow(object):
|
|||||||
self.patch_ios_chkbox = QCheckBox(self.centralwidget)
|
self.patch_ios_chkbox = QCheckBox(self.centralwidget)
|
||||||
self.patch_ios_chkbox.setObjectName(u"patch_ios_chkbox")
|
self.patch_ios_chkbox.setObjectName(u"patch_ios_chkbox")
|
||||||
self.patch_ios_chkbox.setEnabled(False)
|
self.patch_ios_chkbox.setEnabled(False)
|
||||||
sizePolicy3.setHeightForWidth(self.patch_ios_chkbox.sizePolicy().hasHeightForWidth())
|
sizePolicy1.setHeightForWidth(self.patch_ios_chkbox.sizePolicy().hasHeightForWidth())
|
||||||
self.patch_ios_chkbox.setSizePolicy(sizePolicy3)
|
self.patch_ios_chkbox.setSizePolicy(sizePolicy1)
|
||||||
self.patch_ios_chkbox.setText(u"")
|
self.patch_ios_chkbox.setText(u"")
|
||||||
|
|
||||||
self.patch_ios_row.addWidget(self.patch_ios_chkbox)
|
self.patch_ios_row.addWidget(self.patch_ios_chkbox)
|
||||||
|
|
||||||
self.patch_ios_lbl = QLabel(self.centralwidget)
|
self.patch_ios_chkbox_lbl = QLabel(self.centralwidget)
|
||||||
self.patch_ios_lbl.setObjectName(u"patch_ios_lbl")
|
self.patch_ios_chkbox_lbl.setObjectName(u"patch_ios_chkbox_lbl")
|
||||||
self.patch_ios_lbl.setEnabled(True)
|
self.patch_ios_chkbox_lbl.setEnabled(True)
|
||||||
sizePolicy4.setHeightForWidth(self.patch_ios_lbl.sizePolicy().hasHeightForWidth())
|
sizePolicy4.setHeightForWidth(self.patch_ios_chkbox_lbl.sizePolicy().hasHeightForWidth())
|
||||||
self.patch_ios_lbl.setSizePolicy(sizePolicy4)
|
self.patch_ios_chkbox_lbl.setSizePolicy(sizePolicy4)
|
||||||
self.patch_ios_lbl.setWordWrap(True)
|
self.patch_ios_chkbox_lbl.setWordWrap(True)
|
||||||
|
|
||||||
self.patch_ios_row.addWidget(self.patch_ios_lbl)
|
self.patch_ios_row.addWidget(self.patch_ios_chkbox_lbl)
|
||||||
|
|
||||||
|
|
||||||
self.verticalLayout_7.addLayout(self.patch_ios_row)
|
self.verticalLayout_7.addLayout(self.patch_ios_row)
|
||||||
@@ -338,23 +351,23 @@ class Ui_MainWindow(object):
|
|||||||
self.pack_vwii_mode_chkbox = QCheckBox(self.centralwidget)
|
self.pack_vwii_mode_chkbox = QCheckBox(self.centralwidget)
|
||||||
self.pack_vwii_mode_chkbox.setObjectName(u"pack_vwii_mode_chkbox")
|
self.pack_vwii_mode_chkbox.setObjectName(u"pack_vwii_mode_chkbox")
|
||||||
self.pack_vwii_mode_chkbox.setEnabled(False)
|
self.pack_vwii_mode_chkbox.setEnabled(False)
|
||||||
sizePolicy3.setHeightForWidth(self.pack_vwii_mode_chkbox.sizePolicy().hasHeightForWidth())
|
sizePolicy1.setHeightForWidth(self.pack_vwii_mode_chkbox.sizePolicy().hasHeightForWidth())
|
||||||
self.pack_vwii_mode_chkbox.setSizePolicy(sizePolicy3)
|
self.pack_vwii_mode_chkbox.setSizePolicy(sizePolicy1)
|
||||||
self.pack_vwii_mode_chkbox.setText(u"")
|
self.pack_vwii_mode_chkbox.setText(u"")
|
||||||
|
|
||||||
self.pack_vwii_mode_row.addWidget(self.pack_vwii_mode_chkbox)
|
self.pack_vwii_mode_row.addWidget(self.pack_vwii_mode_chkbox)
|
||||||
|
|
||||||
self.pack_vwii_mode_lbl = QLabel(self.centralwidget)
|
self.pack_vwii_mode_chkbox_lbl = QLabel(self.centralwidget)
|
||||||
self.pack_vwii_mode_lbl.setObjectName(u"pack_vwii_mode_lbl")
|
self.pack_vwii_mode_chkbox_lbl.setObjectName(u"pack_vwii_mode_chkbox_lbl")
|
||||||
self.pack_vwii_mode_lbl.setEnabled(True)
|
self.pack_vwii_mode_chkbox_lbl.setEnabled(True)
|
||||||
sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
|
sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
|
||||||
sizePolicy5.setHorizontalStretch(0)
|
sizePolicy5.setHorizontalStretch(0)
|
||||||
sizePolicy5.setVerticalStretch(0)
|
sizePolicy5.setVerticalStretch(0)
|
||||||
sizePolicy5.setHeightForWidth(self.pack_vwii_mode_lbl.sizePolicy().hasHeightForWidth())
|
sizePolicy5.setHeightForWidth(self.pack_vwii_mode_chkbox_lbl.sizePolicy().hasHeightForWidth())
|
||||||
self.pack_vwii_mode_lbl.setSizePolicy(sizePolicy5)
|
self.pack_vwii_mode_chkbox_lbl.setSizePolicy(sizePolicy5)
|
||||||
self.pack_vwii_mode_lbl.setWordWrap(True)
|
self.pack_vwii_mode_chkbox_lbl.setWordWrap(True)
|
||||||
|
|
||||||
self.pack_vwii_mode_row.addWidget(self.pack_vwii_mode_lbl)
|
self.pack_vwii_mode_row.addWidget(self.pack_vwii_mode_chkbox_lbl)
|
||||||
|
|
||||||
|
|
||||||
self.verticalLayout_8.addLayout(self.pack_vwii_mode_row)
|
self.verticalLayout_8.addLayout(self.pack_vwii_mode_row)
|
||||||
@@ -399,7 +412,8 @@ class Ui_MainWindow(object):
|
|||||||
|
|
||||||
def retranslateUi(self, MainWindow):
|
def retranslateUi(self, MainWindow):
|
||||||
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))
|
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))
|
||||||
self.label_2.setText(QCoreApplication.translate("MainWindow", u"Available Titles", None))
|
self.tree_filter_input.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Search", None))
|
||||||
|
self.tree_filter_reset_btn.setText(QCoreApplication.translate("MainWindow", u"Clear", None))
|
||||||
self.platform_tabs.setTabText(self.platform_tabs.indexOf(self.wii_tab), QCoreApplication.translate("MainWindow", u"Wii", None))
|
self.platform_tabs.setTabText(self.platform_tabs.indexOf(self.wii_tab), QCoreApplication.translate("MainWindow", u"Wii", None))
|
||||||
self.platform_tabs.setTabText(self.platform_tabs.indexOf(self.vwii_tab), QCoreApplication.translate("MainWindow", u"vWii", None))
|
self.platform_tabs.setTabText(self.platform_tabs.indexOf(self.vwii_tab), QCoreApplication.translate("MainWindow", u"vWii", None))
|
||||||
self.platform_tabs.setTabText(self.platform_tabs.indexOf(self.dsi_tab), QCoreApplication.translate("MainWindow", u"DSi", None))
|
self.platform_tabs.setTabText(self.platform_tabs.indexOf(self.dsi_tab), QCoreApplication.translate("MainWindow", u"DSi", None))
|
||||||
@@ -412,15 +426,15 @@ class Ui_MainWindow(object):
|
|||||||
self.download_btn.setText(QCoreApplication.translate("MainWindow", u"Start Download", None))
|
self.download_btn.setText(QCoreApplication.translate("MainWindow", u"Start Download", None))
|
||||||
self.script_btn.setText(QCoreApplication.translate("MainWindow", u"Run Script", None))
|
self.script_btn.setText(QCoreApplication.translate("MainWindow", u"Run Script", None))
|
||||||
self.label_3.setText(QCoreApplication.translate("MainWindow", u"General Settings", None))
|
self.label_3.setText(QCoreApplication.translate("MainWindow", u"General Settings", None))
|
||||||
self.label_7.setText(QCoreApplication.translate("MainWindow", u"Pack installable archive (WAD/TAD)", None))
|
self.pack_archive_chkbox_lbl.setText(QCoreApplication.translate("MainWindow", u"Pack installable archive (WAD/TAD)", None))
|
||||||
self.archive_file_entry.setPlaceholderText(QCoreApplication.translate("MainWindow", u"File Name", None))
|
self.archive_file_entry.setPlaceholderText(QCoreApplication.translate("MainWindow", u"File Name", None))
|
||||||
self.label_6.setText(QCoreApplication.translate("MainWindow", u"Keep encrypted contents", None))
|
self.keep_enc_chkbox_lbl.setText(QCoreApplication.translate("MainWindow", u"Keep encrypted contents", None))
|
||||||
self.create_dec_chkbox_lbl.setText(QCoreApplication.translate("MainWindow", u"Create decrypted contents (*.app)", None))
|
self.create_dec_chkbox_lbl.setText(QCoreApplication.translate("MainWindow", u"Create decrypted contents (*.app)", None))
|
||||||
self.use_local_chkbox_lbl.setText(QCoreApplication.translate("MainWindow", u"Use local files, if they exist", None))
|
self.use_local_chkbox_lbl.setText(QCoreApplication.translate("MainWindow", u"Use local files, if they exist", None))
|
||||||
self.use_wiiu_nus_chkbox_lbl.setText(QCoreApplication.translate("MainWindow", u"Use the Wii U NUS (faster, only effects Wii/vWii)", None))
|
self.use_wiiu_nus_chkbox_lbl.setText(QCoreApplication.translate("MainWindow", u"Use the Wii U NUS (faster, only effects Wii/vWii)", None))
|
||||||
self.patch_ios_lbl.setText(QCoreApplication.translate("MainWindow", u"Apply patches to IOS (Applies to WADs only)", None))
|
self.patch_ios_chkbox_lbl.setText(QCoreApplication.translate("MainWindow", u"Apply patches to IOS (Applies to WADs only)", None))
|
||||||
self.label_4.setText(QCoreApplication.translate("MainWindow", u"vWii Title Settings", None))
|
self.label_4.setText(QCoreApplication.translate("MainWindow", u"vWii Title Settings", None))
|
||||||
self.pack_vwii_mode_lbl.setText(QCoreApplication.translate("MainWindow", u"Re-encrypt title using the Wii Common Key", None))
|
self.pack_vwii_mode_chkbox_lbl.setText(QCoreApplication.translate("MainWindow", u"Re-encrypt title using the Wii Common Key", None))
|
||||||
self.log_text_browser.setMarkdown("")
|
self.log_text_browser.setMarkdown("")
|
||||||
self.log_text_browser.setHtml(QCoreApplication.translate("MainWindow", u"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
self.log_text_browser.setHtml(QCoreApplication.translate("MainWindow", u"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><meta charset=\"utf-8\" /><style type=\"text/css\">\n"
|
"<html><head><meta name=\"qrichtext\" content=\"1\" /><meta charset=\"utf-8\" /><style type=\"text/css\">\n"
|
||||||
|
|||||||
@@ -33,16 +33,34 @@
|
|||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="vertical_layout_trees">
|
<layout class="QVBoxLayout" name="vertical_layout_trees">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_2">
|
<layout class="QHBoxLayout" name="tree_filter_layout">
|
||||||
<property name="font">
|
<item>
|
||||||
<font>
|
<widget class="QLineEdit" name="tree_filter_input">
|
||||||
<bold>true</bold>
|
<property name="sizePolicy">
|
||||||
</font>
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
</property>
|
<horstretch>0</horstretch>
|
||||||
<property name="text">
|
<verstretch>0</verstretch>
|
||||||
<string>Available Titles</string>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="placeholderText">
|
||||||
|
<string>Search</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="tree_filter_reset_btn">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Clear</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTabWidget" name="platform_tabs">
|
<widget class="QTabWidget" name="platform_tabs">
|
||||||
@@ -240,7 +258,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_7">
|
<widget class="QLabel" name="pack_archive_chkbox_lbl">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
@@ -289,7 +307,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_6">
|
<widget class="QLabel" name="keep_enc_chkbox_lbl">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
@@ -448,7 +466,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="patch_ios_lbl">
|
<widget class="QLabel" name="patch_ios_chkbox_lbl">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
@@ -538,7 +556,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="pack_vwii_mode_lbl">
|
<widget class="QLabel" name="pack_vwii_mode_chkbox_lbl">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 40 KiB |
@@ -4,7 +4,6 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="97"/>
|
|
||||||
<source>NUSGet v{nusget_version}
|
<source>NUSGet v{nusget_version}
|
||||||
Developed by NinjaCheetah
|
Developed by NinjaCheetah
|
||||||
Powered by libWiiPy {libwiipy_version}
|
Powered by libWiiPy {libwiipy_version}
|
||||||
@@ -16,6 +15,31 @@ Titles marked with a checkmark are free and have a ticket available, and can be
|
|||||||
|
|
||||||
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
||||||
<translatorcomment>"Downloads" in German copies of Windows and macOS isn't translated
|
<translatorcomment>"Downloads" in German copies of Windows and macOS isn't translated
|
||||||
|
Specified that the tickets for titles with a checkmark are publicly available, for clarity in the translation</translatorcomment>
|
||||||
|
<translation type="vanished">NUSGet v{nusget_version}
|
||||||
|
Entwickelt von NinjaCheetah
|
||||||
|
Nutzt libWiiPy {libwiipy_version}
|
||||||
|
Unterstützung für DSi bereitgestelt durch libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Wähle einen Titel aus der Liste auf der linken Seite oder gebe eine Title-ID ein, um zu beginnen.
|
||||||
|
|
||||||
|
Titel, welche mit einem Häkchen markiert sind, sind frei verfügbar und haben ein öffentliches Ticket, und können daher entschlüsselt und/oder in eine WAD/TAD verpackt werden. Titel mit einem Kreuz haben kein öffentlich verfügbares Ticket und können nicht entschlüsselt oder verpackt werden.
|
||||||
|
|
||||||
|
Titel werden in einem "NUSGet" Ordner innerhalb des Downloads-Ordners gespeichert.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="98"/>
|
||||||
|
<source>NUSGet v{nusget_version}
|
||||||
|
Developed by NinjaCheetah
|
||||||
|
Powered by libWiiPy {libwiipy_version}
|
||||||
|
DSi support provided by libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Select a title from the list on the left, or enter a Title ID to begin.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Titles will be downloaded to a folder named "NUSGet Downloads" inside your downloads folder.</source>
|
||||||
|
<translatorcomment>"Downloads" in German copies of Windows and macOS isn't translated
|
||||||
Specified that the tickets for titles with a checkmark are publicly available, for clarity in the translation</translatorcomment>
|
Specified that the tickets for titles with a checkmark are publicly available, for clarity in the translation</translatorcomment>
|
||||||
<translation>NUSGet v{nusget_version}
|
<translation>NUSGet v{nusget_version}
|
||||||
Entwickelt von NinjaCheetah
|
Entwickelt von NinjaCheetah
|
||||||
@@ -24,192 +48,178 @@ Unterstützung für DSi bereitgestelt durch libTWLPy {libtwlpy_version}
|
|||||||
|
|
||||||
Wähle einen Titel aus der Liste auf der linken Seite oder gebe eine Title-ID ein, um zu beginnen.
|
Wähle einen Titel aus der Liste auf der linken Seite oder gebe eine Title-ID ein, um zu beginnen.
|
||||||
|
|
||||||
Titel, welche mit einem Häkchen markiert sind, sind frei verfügbar und haben ein öffentliches Ticket, und können daher entschlüsselt und/oder in eine WAD/TAD verpackt werden. Titel mit einem Kreuz haben kein öffentlich verfügbares Ticket und können nur verschlüsselt heruntergeladen werden.
|
Titel, welche mit einem Häkchen markiert sind, sind frei verfügbar und haben ein öffentliches Ticket, und können daher entschlüsselt und/oder in eine WAD/TAD verpackt werden. Titel mit einem Kreuz haben kein öffentlich verfügbares Ticket und können nicht entschlüsselt oder verpackt werden.
|
||||||
|
|
||||||
Titel werden in einem "NUSGet" Ordner innerhalb des Downloads-Ordners gespeichert.</translation>
|
Titel werden in einem "NUSGet Downloads" Ordner innerhalb des Downloads-Ordners gespeichert.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="155"/>
|
<location filename="../../NUSGet.py" line="192"/>
|
||||||
<source>NUSGet Update Available</source>
|
<source>NUSGet Update Available</source>
|
||||||
<translation>NUSGet-Update verfügbar</translation>
|
<translation>NUSGet-Update verfügbar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="156"/>
|
<location filename="../../NUSGet.py" line="193"/>
|
||||||
<source>There's a newer version of NUSGet available!</source>
|
<source>There's a newer version of NUSGet available!</source>
|
||||||
<translation>Eine neuere Version von NUSGet ist verfügbar.</translation>
|
<translation>Eine neuere Version von NUSGet ist verfügbar.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="247"/>
|
<location filename="../../NUSGet.py" line="286"/>
|
||||||
<source>No Output Selected</source>
|
<source>No Output Selected</source>
|
||||||
<translatorcomment>Changed from "output" to "packaging" for clarity</translatorcomment>
|
<translatorcomment>Changed from "output" to "packaging" for clarity</translatorcomment>
|
||||||
<translation>Keine Verpackmethode ausgewählt</translation>
|
<translation>Keine Verpackmethode ausgewählt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="248"/>
|
<location filename="../../NUSGet.py" line="287"/>
|
||||||
<source>You have not selected any format to output the data in!</source>
|
<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>
|
<translation>Es wurde keine Methode zum Verpacken der Inhalte ausgewählt.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="250"/>
|
<location filename="../../NUSGet.py" line="289"/>
|
||||||
<source>Please select at least one option for how you would like the download to be saved.</source>
|
<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>
|
<translatorcomment>Explicitly mentions options for clarity</translatorcomment>
|
||||||
<translation>Es muss mindestens "verschlüsselte Inhalte speichern", "entschlüsselte Inhalte speichern" oder "Verpacke als WAD/TAD" ausgewählt worden sein.</translation>
|
<translation>Es muss mindestens "verschlüsselte Inhalte speichern", "entschlüsselte Inhalte speichern (*.app)" oder "Installierbar verpacken (WAD/TAD)" ausgewählt worden sein.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="279"/>
|
<location filename="../../NUSGet.py" line="318"/>
|
||||||
<source>Invalid Title ID</source>
|
<source>Invalid Title ID</source>
|
||||||
<translation>Fehlerhafte Title-ID</translation>
|
<translation>Fehlerhafte Title-ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="280"/>
|
<location filename="../../NUSGet.py" line="319"/>
|
||||||
<source>The Title ID you have entered is not in a valid format!</source>
|
<source>The Title ID you have entered is not in a valid format!</source>
|
||||||
<translation>Die eingegebene Title-ID ist nicht korrekt.</translation>
|
<translation>Die eingegebene Title-ID ist nicht korrekt.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="282"/>
|
<location filename="../../NUSGet.py" line="321"/>
|
||||||
<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>
|
<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>
|
<translation>Die Title-ID muss mindestens 16 alphanumerische Zeichen enthalten.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="284"/>
|
<location filename="../../NUSGet.py" line="323"/>
|
||||||
<source>Title ID/Version Not Found</source>
|
<source>Title ID/Version Not Found</source>
|
||||||
<translation>Title-ID/Version nicht gefunden</translation>
|
<translation>Title-ID/Version nicht gefunden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="285"/>
|
<location filename="../../NUSGet.py" line="324"/>
|
||||||
<source>No title with the provided Title ID or version could be found!</source>
|
<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>
|
<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>
|
<translation>Es konnte kein Titel mit der gegebenen Title-ID oder Version gefunden werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="287"/>
|
<location filename="../../NUSGet.py" line="326"/>
|
||||||
<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>
|
<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>
|
<translation>Die Title-ID könnte möglicherweise fehlerhaft sein.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="289"/>
|
<location filename="../../NUSGet.py" line="328"/>
|
||||||
<source>Content Decryption Failed</source>
|
<source>Content Decryption Failed</source>
|
||||||
<translation>Entschlüsselung fehlgeschlagen</translation>
|
<translation>Entschlüsselung fehlgeschlagen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="290"/>
|
<location filename="../../NUSGet.py" line="329"/>
|
||||||
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
<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>
|
<translation>Die Inhalte des Titels konnten nicht korrekt entschlüsselt werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="293"/>
|
<location filename="../../NUSGet.py" line="332"/>
|
||||||
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", 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. "Lokale Dateien nutzen" kann ausgeschaltet werden, um diese erneut herunterzuladen.</translation>
|
<translation>Die gespeicherte TMD oder das Ticket könnten möglicherweise fehlerhaft sein. "Lokale Dateien nutzen" kann deaktiviert werden, um diese erneut herunterzuladen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="296"/>
|
<location filename="../../NUSGet.py" line="335"/>
|
||||||
<source>Ticket Not Available</source>
|
<source>Ticket Not Available</source>
|
||||||
<translation>Ticket nicht verfügbar</translation>
|
<translation>Ticket nicht verfügbar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="297"/>
|
<location filename="../../NUSGet.py" line="336"/>
|
||||||
<source>No Ticket is Available for the Requested Title!</source>
|
<source>No Ticket is Available for the Requested Title!</source>
|
||||||
<translation>Kein Ticket konnte für den geforderten Titel gefunden werden.</translation>
|
<translation>Es konnte kein Ticket für den geforderten Titel gefunden werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="300"/>
|
<location filename="../../NUSGet.py" line="339"/>
|
||||||
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
||||||
<translation>Es wurden nur verschlüsselte Inhalte gespeichert.</translation>
|
<translation>Das Ticket zum Entschlüsseln konnte nicht heruntergeladen werden, jedoch ist "Installierbar verpacken" bzw. "Entschlüsselte Inhalte speichern" aktiv. Diese Optionen erfordern ein Ticket, daher wurden nur verschlüsselte Inhalte gespeichert.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="302"/>
|
<location filename="../../NUSGet.py" line="341"/>
|
||||||
<source>Unknown Error</source>
|
<source>Unknown Error</source>
|
||||||
<translation>Unbekannter Fehler</translation>
|
<translation>Unbekannter Fehler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="303"/>
|
<location filename="../../NUSGet.py" line="342"/>
|
||||||
<source>An Unknown Error has Occurred!</source>
|
<source>An Unknown Error has Occurred!</source>
|
||||||
<translation>Ein unbekannter Fehler ist aufgetreten.</translation>
|
<translation>Ein unbekannter Fehler ist aufgetreten.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="305"/>
|
<location filename="../../NUSGet.py" line="344"/>
|
||||||
<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>
|
<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>
|
<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>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="326"/>
|
<location filename="../../NUSGet.py" line="363"/>
|
||||||
<source>Script Issues Occurred</source>
|
<source>Script Issues Occurred</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Script-Fehler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="327"/>
|
<location filename="../../NUSGet.py" line="364"/>
|
||||||
<source>Some issues occurred while running the download script.</source>
|
<source>Some issues occurred while running the download script.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ein Fehler ist im Script aufgetreten.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="329"/>
|
<location filename="../../NUSGet.py" line="366"/>
|
||||||
<source>Check the log for more details about what issues were encountered.</source>
|
<source>Check the log for more details about what issues were encountered.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translatorcomment>To keep the indirectness of other text, this was changed to "Error details have been written to the log."</translatorcomment>
|
||||||
</message>
|
<translation>Fehlerdetails wurden in den Log geschrieben.</translation>
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="336"/>
|
|
||||||
<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 type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="346"/>
|
|
||||||
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="373"/>
|
<location filename="../../NUSGet.py" line="373"/>
|
||||||
|
<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="383"/>
|
||||||
|
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
||||||
|
<translation>"Entschlüsselte Inhalte speichern" bzw. "Installierbar verpacken" 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="402"/>
|
||||||
<source>Script Download Failed</source>
|
<source>Script Download Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Script-Herunterladen fehlgeschlagen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="374"/>
|
<location filename="../../NUSGet.py" line="403"/>
|
||||||
<source>Open NUS Script</source>
|
<source>Open NUS Script</source>
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="375"/>
|
|
||||||
<source>NUS Scripts (*.nus *.json)</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="385"/>
|
|
||||||
<source>An error occurred while parsing the script file!</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="386"/>
|
|
||||||
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="395"/>
|
|
||||||
<source>An error occurred while parsing Title IDs!</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="396"/>
|
|
||||||
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Open NUS script</source>
|
|
||||||
<translatorcomment>Translating the file type is pointless, since it's not an actual "script"</translatorcomment>
|
<translatorcomment>Translating the file type is pointless, since it's not an actual "script"</translatorcomment>
|
||||||
<translation type="vanished">NUS-Script öffnen</translation>
|
<translation>NUS-Script öffnen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>NUS Scripts (*.nus *.txt)</source>
|
<location filename="../../NUSGet.py" line="404"/>
|
||||||
<translation type="vanished">NUS Script (*.nus *.txt)</translation>
|
<source>NUS Scripts (*.nus *.json)</source>
|
||||||
|
<translatorcomment>"Scripts" isn't the correct way to pluralize a word, and "Scripte" would misalign with referring to them as "Script", so we just keep it as-is (it sounds plural enough anyway!)</translatorcomment>
|
||||||
|
<translation>NUS-Script (*.nus *.json)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Script Failure</source>
|
<location filename="../../NUSGet.py" line="414"/>
|
||||||
<translation type="vanished">Script-Fehler</translation>
|
<source>An error occurred while parsing the script file!</source>
|
||||||
|
<translation>Ein Fehler ist während des Parsen des Script aufgetreten.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Failed to open the script.</source>
|
<location filename="../../NUSGet.py" line="415"/>
|
||||||
<translation type="vanished">Konnte das NUS-Script nicht öffnen.</translation>
|
<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>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="43"/>
|
<location filename="../../NUSGet.py" line="424"/>
|
||||||
|
<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="425"/>
|
||||||
|
<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="52"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Could not check for updates.</source>
|
Could not check for updates.</source>
|
||||||
@@ -218,7 +228,7 @@ Could not check for updates.</source>
|
|||||||
Konnte nicht nach Updates suchen.</translation>
|
Konnte nicht nach Updates suchen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="51"/>
|
<location filename="../../modules/core.py" line="60"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
There's a newer version of NUSGet available!</source>
|
There's a newer version of NUSGet available!</source>
|
||||||
@@ -227,7 +237,7 @@ There's a newer version of NUSGet available!</source>
|
|||||||
Eine neuere Version von NUSGet ist verfügbar.</translation>
|
Eine neuere Version von NUSGet ist verfügbar.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="53"/>
|
<location filename="../../modules/core.py" line="62"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
You're running the latest release of NUSGet.</source>
|
You're running the latest release of NUSGet.</source>
|
||||||
@@ -243,112 +253,117 @@ Die neuste Version von NUSGet ist bereits aktiv.</translation>
|
|||||||
<translation>Hauptmenü</translation>
|
<translation>Hauptmenü</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="43"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="46"/>
|
||||||
<source>Available Titles</source>
|
<source>Search</source>
|
||||||
<translation>Verfügbare Titel</translation>
|
<translation>Suche</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="72"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="59"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation>Leeren</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="90"/>
|
||||||
<source>Wii</source>
|
<source>Wii</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="82"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="100"/>
|
||||||
<source>vWii</source>
|
<source>vWii</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="92"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="110"/>
|
||||||
<source>DSi</source>
|
<source>DSi</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="117"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="135"/>
|
||||||
<source>Title ID</source>
|
<source>Title ID</source>
|
||||||
<translatorcomment>We do not translate "Title ID" beyond making it grammatically correct (hence the dash), since it refers to a NUS specific component</translatorcomment>
|
<translatorcomment>We do not translate "Title ID" beyond making it grammatically correct (hence the dash), since it refers to a NUS specific component</translatorcomment>
|
||||||
<translation>Title-ID</translation>
|
<translation>Title-ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="124"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="142"/>
|
||||||
<source>v</source>
|
<source>v</source>
|
||||||
<translatorcomment>Since vNNNNN is a common way of referring to versions across the Wii both by Nintendo and modders, we keep it identical</translatorcomment>
|
<translatorcomment>Since vNNNNN is a common way of referring to versions across the Wii both by Nintendo and modders, we keep it identical</translatorcomment>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="137"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="155"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translatorcomment>The same word is used in German</translatorcomment>
|
<translatorcomment>The same word is used in German</translatorcomment>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="144"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="162"/>
|
||||||
<source>Console:</source>
|
<source>Console:</source>
|
||||||
<translation>Konsole:</translation>
|
<translation>Konsole:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="180"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="198"/>
|
||||||
<source>Start Download</source>
|
<source>Start Download</source>
|
||||||
<translation>Herunterladen</translation>
|
<translation>Herunterladen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="193"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="211"/>
|
||||||
<source>Run Script</source>
|
<source>Run Script</source>
|
||||||
<translation>Script starten</translation>
|
<translation>Script starten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="220"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="238"/>
|
||||||
<source>General Settings</source>
|
<source>General Settings</source>
|
||||||
<translation>Einstellungen</translation>
|
<translation>Einstellungen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="251"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="269"/>
|
||||||
<source>Pack installable archive (WAD/TAD)</source>
|
<source>Pack installable archive (WAD/TAD)</source>
|
||||||
<translation>Installierbar verpacken (WAD/TAD)</translation>
|
<translation>Installierbar verpacken (WAD/TAD)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="266"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="284"/>
|
||||||
<source>File Name</source>
|
<source>File Name</source>
|
||||||
<translation>Dateiname</translation>
|
<translation>Dateiname</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="300"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="318"/>
|
||||||
<source>Keep encrypted contents</source>
|
<source>Keep encrypted contents</source>
|
||||||
<translation>Verschlüsselte Inhalte speichern</translation>
|
<translation>Verschlüsselte Inhalte speichern</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="336"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="354"/>
|
||||||
<source>Create decrypted contents (*.app)</source>
|
<source>Create decrypted contents (*.app)</source>
|
||||||
<translation>Entschlüsselte Inhalte speichern (*.app)</translation>
|
<translation>Entschlüsselte Inhalte speichern (*.app)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="375"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="393"/>
|
||||||
<source>Use local files, if they exist</source>
|
<source>Use local files, if they exist</source>
|
||||||
<translation>Lokale Dateien nutzen, sofern verfügbar</translation>
|
<translation>Lokale Dateien nutzen, sofern verfügbar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="420"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="438"/>
|
||||||
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
<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>
|
<translation>Wii U-NUS nutzen (schneller, gilt nur für Wii/vWii)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="462"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="480"/>
|
||||||
<source>Apply patches to IOS (Applies to WADs only)</source>
|
<source>Apply patches to IOS (Applies to WADs only)</source>
|
||||||
<translatorcomment>"Patch" does not have a good translation into German, and in most modding forums, it's used as is</translatorcomment>
|
<translatorcomment>"Patch" does not have a good translation into German, and in most modding forums, it's used as is</translatorcomment>
|
||||||
<translation>Patches für IOS anwenden (Gilt nur für WAD)</translation>
|
<translation>Patches für IOS anwenden (Gilt nur für WAD)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="518"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="536"/>
|
||||||
<source>vWii Title Settings</source>
|
<source>vWii Title Settings</source>
|
||||||
<translation>vWii Titel-Einstellungen</translation>
|
<translation>vWii Titel-Einstellungen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="552"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="570"/>
|
||||||
<source>Re-encrypt title using the Wii Common Key</source>
|
<source>Re-encrypt title using the Wii Common Key</source>
|
||||||
<translatorcomment>Common key does not get translated</translatorcomment>
|
<translatorcomment>Common key does not get translated</translatorcomment>
|
||||||
<translation>Titel mit dem Common-Key der Wii neu verschlüsseln</translation>
|
<translation>Titel mit dem Common-Key der Wii neu verschlüsseln</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="609"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="627"/>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
|
|||||||
@@ -4,25 +4,25 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="72"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="90"/>
|
||||||
<source>Wii</source>
|
<source>Wii</source>
|
||||||
<translatorcomment>Does not change.</translatorcomment>
|
<translatorcomment>Does not change.</translatorcomment>
|
||||||
<translation type="unfinished">Wii</translation>
|
<translation type="unfinished">Wii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="82"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="100"/>
|
||||||
<source>vWii</source>
|
<source>vWii</source>
|
||||||
<translatorcomment>Does not change.</translatorcomment>
|
<translatorcomment>Does not change.</translatorcomment>
|
||||||
<translation>vWii</translation>
|
<translation>vWii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="92"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="110"/>
|
||||||
<source>DSi</source>
|
<source>DSi</source>
|
||||||
<translatorcomment>Does not change.</translatorcomment>
|
<translatorcomment>Does not change.</translatorcomment>
|
||||||
<translation>DSi</translation>
|
<translation>DSi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="124"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="142"/>
|
||||||
<source>v</source>
|
<source>v</source>
|
||||||
<translatorcomment>Does not change.</translatorcomment>
|
<translatorcomment>Does not change.</translatorcomment>
|
||||||
<translation>v</translation>
|
<translation>v</translation>
|
||||||
@@ -33,82 +33,87 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="43"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="46"/>
|
||||||
<source>Available Titles</source>
|
<source>Search</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="117"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="59"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="135"/>
|
||||||
<source>Title ID</source>
|
<source>Title ID</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="137"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="155"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="144"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="162"/>
|
||||||
<source>Console:</source>
|
<source>Console:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="180"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="198"/>
|
||||||
<source>Start Download</source>
|
<source>Start Download</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="193"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="211"/>
|
||||||
<source>Run Script</source>
|
<source>Run Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="220"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="238"/>
|
||||||
<source>General Settings</source>
|
<source>General Settings</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="251"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="269"/>
|
||||||
<source>Pack installable archive (WAD/TAD)</source>
|
<source>Pack installable archive (WAD/TAD)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="266"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="284"/>
|
||||||
<source>File Name</source>
|
<source>File Name</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="300"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="318"/>
|
||||||
<source>Keep encrypted contents</source>
|
<source>Keep encrypted contents</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="336"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="354"/>
|
||||||
<source>Create decrypted contents (*.app)</source>
|
<source>Create decrypted contents (*.app)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="375"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="393"/>
|
||||||
<source>Use local files, if they exist</source>
|
<source>Use local files, if they exist</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="420"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="438"/>
|
||||||
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="518"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="536"/>
|
||||||
<source>vWii Title Settings</source>
|
<source>vWii Title Settings</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="552"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="570"/>
|
||||||
<source>Re-encrypt title using the Wii Common Key</source>
|
<source>Re-encrypt title using the Wii Common Key</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="609"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="627"/>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
@@ -120,12 +125,12 @@ li.checked::marker { content: "\2612"; }
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="462"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="480"/>
|
||||||
<source>Apply patches to IOS (Applies to WADs only)</source>
|
<source>Apply patches to IOS (Applies to WADs only)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="97"/>
|
<location filename="../../NUSGet.py" line="98"/>
|
||||||
<source>NUSGet v{nusget_version}
|
<source>NUSGet v{nusget_version}
|
||||||
Developed by NinjaCheetah
|
Developed by NinjaCheetah
|
||||||
Powered by libWiiPy {libwiipy_version}
|
Powered by libWiiPy {libwiipy_version}
|
||||||
@@ -135,185 +140,185 @@ Select a title from the list on the left, or enter a Title ID to begin.
|
|||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
Titles will be downloaded to a folder named "NUSGet Downloads" inside your downloads folder.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="155"/>
|
<location filename="../../NUSGet.py" line="192"/>
|
||||||
<source>NUSGet Update Available</source>
|
<source>NUSGet Update Available</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="156"/>
|
<location filename="../../NUSGet.py" line="193"/>
|
||||||
<source>There's a newer version of NUSGet available!</source>
|
<source>There's a newer version of NUSGet available!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="247"/>
|
<location filename="../../NUSGet.py" line="286"/>
|
||||||
<source>No Output Selected</source>
|
<source>No Output Selected</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="248"/>
|
<location filename="../../NUSGet.py" line="287"/>
|
||||||
<source>You have not selected any format to output the data in!</source>
|
<source>You have not selected any format to output the data in!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="250"/>
|
<location filename="../../NUSGet.py" line="289"/>
|
||||||
<source>Please select at least one option for how you would like the download to be saved.</source>
|
<source>Please select at least one option for how you would like the download to be saved.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="279"/>
|
<location filename="../../NUSGet.py" line="318"/>
|
||||||
<source>Invalid Title ID</source>
|
<source>Invalid Title ID</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="280"/>
|
<location filename="../../NUSGet.py" line="319"/>
|
||||||
<source>The Title ID you have entered is not in a valid format!</source>
|
<source>The Title ID you have entered is not in a valid format!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="282"/>
|
<location filename="../../NUSGet.py" line="321"/>
|
||||||
<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>
|
<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 type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="284"/>
|
<location filename="../../NUSGet.py" line="323"/>
|
||||||
<source>Title ID/Version Not Found</source>
|
<source>Title ID/Version Not Found</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="285"/>
|
<location filename="../../NUSGet.py" line="324"/>
|
||||||
<source>No title with the provided Title ID or version could be found!</source>
|
<source>No title with the provided Title ID or version could be found!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="287"/>
|
<location filename="../../NUSGet.py" line="326"/>
|
||||||
<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>
|
<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 type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="289"/>
|
<location filename="../../NUSGet.py" line="328"/>
|
||||||
<source>Content Decryption Failed</source>
|
<source>Content Decryption Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="290"/>
|
<location filename="../../NUSGet.py" line="329"/>
|
||||||
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="293"/>
|
<location filename="../../NUSGet.py" line="332"/>
|
||||||
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="296"/>
|
<location filename="../../NUSGet.py" line="335"/>
|
||||||
<source>Ticket Not Available</source>
|
<source>Ticket Not Available</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="297"/>
|
<location filename="../../NUSGet.py" line="336"/>
|
||||||
<source>No Ticket is Available for the Requested Title!</source>
|
<source>No Ticket is Available for the Requested Title!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="300"/>
|
<location filename="../../NUSGet.py" line="339"/>
|
||||||
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="302"/>
|
<location filename="../../NUSGet.py" line="341"/>
|
||||||
<source>Unknown Error</source>
|
<source>Unknown Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="303"/>
|
<location filename="../../NUSGet.py" line="342"/>
|
||||||
<source>An Unknown Error has Occurred!</source>
|
<source>An Unknown Error has Occurred!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="305"/>
|
<location filename="../../NUSGet.py" line="344"/>
|
||||||
<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>
|
<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 type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="326"/>
|
<location filename="../../NUSGet.py" line="363"/>
|
||||||
<source>Script Issues Occurred</source>
|
<source>Script Issues Occurred</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="327"/>
|
<location filename="../../NUSGet.py" line="364"/>
|
||||||
<source>Some issues occurred while running the download script.</source>
|
<source>Some issues occurred while running the download script.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="329"/>
|
<location filename="../../NUSGet.py" line="366"/>
|
||||||
<source>Check the log for more details about what issues were encountered.</source>
|
<source>Check the log for more details about what issues were encountered.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="336"/>
|
<location filename="../../NUSGet.py" line="373"/>
|
||||||
<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>
|
<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 type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="346"/>
|
<location filename="../../NUSGet.py" line="383"/>
|
||||||
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="373"/>
|
<location filename="../../NUSGet.py" line="402"/>
|
||||||
<source>Script Download Failed</source>
|
<source>Script Download Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="374"/>
|
<location filename="../../NUSGet.py" line="403"/>
|
||||||
<source>Open NUS Script</source>
|
<source>Open NUS Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="375"/>
|
<location filename="../../NUSGet.py" line="404"/>
|
||||||
<source>NUS Scripts (*.nus *.json)</source>
|
<source>NUS Scripts (*.nus *.json)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="385"/>
|
<location filename="../../NUSGet.py" line="414"/>
|
||||||
<source>An error occurred while parsing the script file!</source>
|
<source>An error occurred while parsing the script file!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="386"/>
|
<location filename="../../NUSGet.py" line="415"/>
|
||||||
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="395"/>
|
<location filename="../../NUSGet.py" line="424"/>
|
||||||
<source>An error occurred while parsing Title IDs!</source>
|
<source>An error occurred while parsing Title IDs!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="396"/>
|
<location filename="../../NUSGet.py" line="425"/>
|
||||||
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="43"/>
|
<location filename="../../modules/core.py" line="52"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Could not check for updates.</source>
|
Could not check for updates.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="51"/>
|
<location filename="../../modules/core.py" line="60"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
There's a newer version of NUSGet available!</source>
|
There's a newer version of NUSGet available!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="53"/>
|
<location filename="../../modules/core.py" line="62"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
You're running the latest release of NUSGet.</source>
|
You're running the latest release of NUSGet.</source>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="97"/>
|
<location filename="../../NUSGet.py" line="98"/>
|
||||||
<source>NUSGet v{nusget_version}
|
<source>NUSGet v{nusget_version}
|
||||||
Developed by NinjaCheetah
|
Developed by NinjaCheetah
|
||||||
Powered by libWiiPy {libwiipy_version}
|
Powered by libWiiPy {libwiipy_version}
|
||||||
@@ -14,166 +14,166 @@ Select a title from the list on the left, or enter a Title ID to begin.
|
|||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
Titles will be downloaded to a folder named "NUSGet Downloads" inside your downloads folder.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="155"/>
|
<location filename="../../NUSGet.py" line="192"/>
|
||||||
<source>NUSGet Update Available</source>
|
<source>NUSGet Update Available</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="156"/>
|
<location filename="../../NUSGet.py" line="193"/>
|
||||||
<source>There's a newer version of NUSGet available!</source>
|
<source>There's a newer version of NUSGet available!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="247"/>
|
<location filename="../../NUSGet.py" line="286"/>
|
||||||
<source>No Output Selected</source>
|
<source>No Output Selected</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="248"/>
|
<location filename="../../NUSGet.py" line="287"/>
|
||||||
<source>You have not selected any format to output the data in!</source>
|
<source>You have not selected any format to output the data in!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="250"/>
|
<location filename="../../NUSGet.py" line="289"/>
|
||||||
<source>Please select at least one option for how you would like the download to be saved.</source>
|
<source>Please select at least one option for how you would like the download to be saved.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="279"/>
|
<location filename="../../NUSGet.py" line="318"/>
|
||||||
<source>Invalid Title ID</source>
|
<source>Invalid Title ID</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="280"/>
|
<location filename="../../NUSGet.py" line="319"/>
|
||||||
<source>The Title ID you have entered is not in a valid format!</source>
|
<source>The Title ID you have entered is not in a valid format!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="282"/>
|
<location filename="../../NUSGet.py" line="321"/>
|
||||||
<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>
|
<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 type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="284"/>
|
<location filename="../../NUSGet.py" line="323"/>
|
||||||
<source>Title ID/Version Not Found</source>
|
<source>Title ID/Version Not Found</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="285"/>
|
<location filename="../../NUSGet.py" line="324"/>
|
||||||
<source>No title with the provided Title ID or version could be found!</source>
|
<source>No title with the provided Title ID or version could be found!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="287"/>
|
<location filename="../../NUSGet.py" line="326"/>
|
||||||
<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>
|
<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 type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="289"/>
|
<location filename="../../NUSGet.py" line="328"/>
|
||||||
<source>Content Decryption Failed</source>
|
<source>Content Decryption Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="290"/>
|
<location filename="../../NUSGet.py" line="329"/>
|
||||||
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="293"/>
|
<location filename="../../NUSGet.py" line="332"/>
|
||||||
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="296"/>
|
<location filename="../../NUSGet.py" line="335"/>
|
||||||
<source>Ticket Not Available</source>
|
<source>Ticket Not Available</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="297"/>
|
<location filename="../../NUSGet.py" line="336"/>
|
||||||
<source>No Ticket is Available for the Requested Title!</source>
|
<source>No Ticket is Available for the Requested Title!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="300"/>
|
<location filename="../../NUSGet.py" line="339"/>
|
||||||
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="302"/>
|
<location filename="../../NUSGet.py" line="341"/>
|
||||||
<source>Unknown Error</source>
|
<source>Unknown Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="303"/>
|
<location filename="../../NUSGet.py" line="342"/>
|
||||||
<source>An Unknown Error has Occurred!</source>
|
<source>An Unknown Error has Occurred!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="305"/>
|
<location filename="../../NUSGet.py" line="344"/>
|
||||||
<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>
|
<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 type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="326"/>
|
<location filename="../../NUSGet.py" line="363"/>
|
||||||
<source>Script Issues Occurred</source>
|
<source>Script Issues Occurred</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="327"/>
|
<location filename="../../NUSGet.py" line="364"/>
|
||||||
<source>Some issues occurred while running the download script.</source>
|
<source>Some issues occurred while running the download script.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="329"/>
|
<location filename="../../NUSGet.py" line="366"/>
|
||||||
<source>Check the log for more details about what issues were encountered.</source>
|
<source>Check the log for more details about what issues were encountered.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="336"/>
|
<location filename="../../NUSGet.py" line="373"/>
|
||||||
<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>
|
<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 type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="346"/>
|
<location filename="../../NUSGet.py" line="383"/>
|
||||||
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="373"/>
|
<location filename="../../NUSGet.py" line="402"/>
|
||||||
<source>Script Download Failed</source>
|
<source>Script Download Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="374"/>
|
<location filename="../../NUSGet.py" line="403"/>
|
||||||
<source>Open NUS Script</source>
|
<source>Open NUS Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="375"/>
|
<location filename="../../NUSGet.py" line="404"/>
|
||||||
<source>NUS Scripts (*.nus *.json)</source>
|
<source>NUS Scripts (*.nus *.json)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="385"/>
|
<location filename="../../NUSGet.py" line="414"/>
|
||||||
<source>An error occurred while parsing the script file!</source>
|
<source>An error occurred while parsing the script file!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="386"/>
|
<location filename="../../NUSGet.py" line="415"/>
|
||||||
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="395"/>
|
<location filename="../../NUSGet.py" line="424"/>
|
||||||
<source>An error occurred while parsing Title IDs!</source>
|
<source>An error occurred while parsing Title IDs!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="396"/>
|
<location filename="../../NUSGet.py" line="425"/>
|
||||||
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -183,107 +183,112 @@ Titles will be downloaded to a folder named "NUSGet" inside your downl
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="43"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="46"/>
|
||||||
<source>Available Titles</source>
|
<source>Search</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="72"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="59"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="90"/>
|
||||||
<source>Wii</source>
|
<source>Wii</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="82"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="100"/>
|
||||||
<source>vWii</source>
|
<source>vWii</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="92"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="110"/>
|
||||||
<source>DSi</source>
|
<source>DSi</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="117"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="135"/>
|
||||||
<source>Title ID</source>
|
<source>Title ID</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="124"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="142"/>
|
||||||
<source>v</source>
|
<source>v</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="137"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="155"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="144"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="162"/>
|
||||||
<source>Console:</source>
|
<source>Console:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="180"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="198"/>
|
||||||
<source>Start Download</source>
|
<source>Start Download</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="193"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="211"/>
|
||||||
<source>Run Script</source>
|
<source>Run Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="220"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="238"/>
|
||||||
<source>General Settings</source>
|
<source>General Settings</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="251"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="269"/>
|
||||||
<source>Pack installable archive (WAD/TAD)</source>
|
<source>Pack installable archive (WAD/TAD)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="266"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="284"/>
|
||||||
<source>File Name</source>
|
<source>File Name</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="300"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="318"/>
|
||||||
<source>Keep encrypted contents</source>
|
<source>Keep encrypted contents</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="336"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="354"/>
|
||||||
<source>Create decrypted contents (*.app)</source>
|
<source>Create decrypted contents (*.app)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="375"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="393"/>
|
||||||
<source>Use local files, if they exist</source>
|
<source>Use local files, if they exist</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="420"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="438"/>
|
||||||
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="462"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="480"/>
|
||||||
<source>Apply patches to IOS (Applies to WADs only)</source>
|
<source>Apply patches to IOS (Applies to WADs only)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="518"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="536"/>
|
||||||
<source>vWii Title Settings</source>
|
<source>vWii Title Settings</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="552"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="570"/>
|
||||||
<source>Re-encrypt title using the Wii Common Key</source>
|
<source>Re-encrypt title using the Wii Common Key</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="609"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="627"/>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
@@ -295,21 +300,21 @@ li.checked::marker { content: "\2612"; }
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="43"/>
|
<location filename="../../modules/core.py" line="52"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Could not check for updates.</source>
|
Could not check for updates.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="51"/>
|
<location filename="../../modules/core.py" line="60"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
There's a newer version of NUSGet available!</source>
|
There's a newer version of NUSGet available!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="53"/>
|
<location filename="../../modules/core.py" line="62"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
You're running the latest release of NUSGet.</source>
|
You're running the latest release of NUSGet.</source>
|
||||||
|
|||||||
@@ -9,102 +9,111 @@
|
|||||||
<translation>Finestra principale</translation>
|
<translation>Finestra principale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="43"/>
|
|
||||||
<source>Available Titles</source>
|
<source>Available Titles</source>
|
||||||
<translation>Titoli disponibili</translation>
|
<translation type="vanished">Titoli disponibili</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="72"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="46"/>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation>Cerca</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="59"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation>Pulisci</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="90"/>
|
||||||
<source>Wii</source>
|
<source>Wii</source>
|
||||||
<translation>Wii</translation>
|
<translation>Wii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="82"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="100"/>
|
||||||
<source>vWii</source>
|
<source>vWii</source>
|
||||||
<translation>vWii</translation>
|
<translation>vWii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="92"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="110"/>
|
||||||
<source>DSi</source>
|
<source>DSi</source>
|
||||||
<translation>DSi</translation>
|
<translation>DSi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="117"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="135"/>
|
||||||
<source>Title ID</source>
|
<source>Title ID</source>
|
||||||
<translation>ID Titolo</translation>
|
<translation>ID Titolo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="124"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="142"/>
|
||||||
<source>v</source>
|
<source>v</source>
|
||||||
<translation>v</translation>
|
<translation>v</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="137"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="155"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation>Versione</translation>
|
<translation>Versione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="144"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="162"/>
|
||||||
<source>Console:</source>
|
<source>Console:</source>
|
||||||
<translation>Console:</translation>
|
<translation>Console:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="180"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="198"/>
|
||||||
<source>Start Download</source>
|
<source>Start Download</source>
|
||||||
<translation>Avvia download</translation>
|
<translation>Avvia download</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="193"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="211"/>
|
||||||
<source>Run Script</source>
|
<source>Run Script</source>
|
||||||
<translation>Avvia Script</translation>
|
<translation>Avvia Script</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="220"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="238"/>
|
||||||
<source>General Settings</source>
|
<source>General Settings</source>
|
||||||
<translation>Impostazioni generali</translation>
|
<translation>Impostazioni generali</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="251"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="269"/>
|
||||||
<source>Pack installable archive (WAD/TAD)</source>
|
<source>Pack installable archive (WAD/TAD)</source>
|
||||||
<translation>Archivio installabile (WAD/TAD)</translation>
|
<translation>Archivio installabile (WAD/TAD)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="266"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="284"/>
|
||||||
<source>File Name</source>
|
<source>File Name</source>
|
||||||
<translation>Nome del file</translation>
|
<translation>Nome del file</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="300"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="318"/>
|
||||||
<source>Keep encrypted contents</source>
|
<source>Keep encrypted contents</source>
|
||||||
<translation>Mantieni contenuti criptati</translation>
|
<translation>Mantieni contenuti criptati</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="336"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="354"/>
|
||||||
<source>Create decrypted contents (*.app)</source>
|
<source>Create decrypted contents (*.app)</source>
|
||||||
<translation>Crea contenuto decriptato (*.app)</translation>
|
<translation>Crea contenuto decriptato (*.app)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="375"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="393"/>
|
||||||
<source>Use local files, if they exist</source>
|
<source>Use local files, if they exist</source>
|
||||||
<translation>Usa file locali, se esistenti</translation>
|
<translation>Usa file locali, se esistenti</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="420"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="438"/>
|
||||||
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
||||||
<translation>Usa il NUS di Wii U (più veloce, riguarda solo Wii/vWii)</translation>
|
<translation>Usa il NUS di Wii U (più veloce, riguarda solo Wii/vWii)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="518"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="536"/>
|
||||||
<source>vWii Title Settings</source>
|
<source>vWii Title Settings</source>
|
||||||
<translation>Impostazioni titoli vWii</translation>
|
<translation>Impostazioni titoli vWii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="552"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="570"/>
|
||||||
<source>Re-encrypt title using the Wii Common Key</source>
|
<source>Re-encrypt title using the Wii Common Key</source>
|
||||||
<translation>Cripta titolo usando la Chiave Comune Wii</translation>
|
<translation>Cripta titolo usando la Chiave Comune Wii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="609"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="627"/>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
@@ -135,154 +144,177 @@ p, li { white-space: pre-wrap; }
|
|||||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></translation>
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="247"/>
|
<location filename="../../NUSGet.py" line="98"/>
|
||||||
|
<source>NUSGet v{nusget_version}
|
||||||
|
Developed by NinjaCheetah
|
||||||
|
Powered by libWiiPy {libwiipy_version}
|
||||||
|
DSi support provided by libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Select a title from the list on the left, or enter a Title ID to begin.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Titles will be downloaded to a folder named "NUSGet Downloads" inside your downloads folder.</source>
|
||||||
|
<translation>NUSGet v{nusget_version}
|
||||||
|
Sviluppato da NinjaCheetah
|
||||||
|
Funzionante con libWiiPy {libwiipy_version}
|
||||||
|
DSi support provided by libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Scegli un tittolo dalla lista a sinistra o inserisci un ID Titolo per iniziare.
|
||||||
|
|
||||||
|
I titoli marcati da una spunta sono disponibili e hanno un ticket libero, e possono essere decriptati/scaricati come WAD o TAD. I titoli con una X non hanno un ticket e solo il contenuto criptato può essere salvato.
|
||||||
|
|
||||||
|
I titoli verranno scaricati nella cartella "NUSGet Downloads" all'interno della cartella Download.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="286"/>
|
||||||
<source>No Output Selected</source>
|
<source>No Output Selected</source>
|
||||||
<translation>Nessun output selezionato</translation>
|
<translation>Nessun output selezionato</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="248"/>
|
<location filename="../../NUSGet.py" line="287"/>
|
||||||
<source>You have not selected any format to output the data in!</source>
|
<source>You have not selected any format to output the data in!</source>
|
||||||
<translation>Non hai selezionato alcun formato in cui esportare i dati!</translation>
|
<translation>Non hai selezionato alcun formato in cui esportare i dati!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="250"/>
|
<location filename="../../NUSGet.py" line="289"/>
|
||||||
<source>Please select at least one option for how you would like the download to be saved.</source>
|
<source>Please select at least one option for how you would like the download to be saved.</source>
|
||||||
<translation>Per favore scegli almeno un opzione per come vorresti che fosse salvato il download.</translation>
|
<translation>Per favore scegli almeno un opzione per come vorresti che fosse salvato il download.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="279"/>
|
<location filename="../../NUSGet.py" line="318"/>
|
||||||
<source>Invalid Title ID</source>
|
<source>Invalid Title ID</source>
|
||||||
<translation>ID Titolo invalido</translation>
|
<translation>ID Titolo invalido</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="280"/>
|
<location filename="../../NUSGet.py" line="319"/>
|
||||||
<source>The Title ID you have entered is not in a valid format!</source>
|
<source>The Title ID you have entered is not in a valid format!</source>
|
||||||
<translation>L' ID Titolo che hai inserito non è in un formato valido!</translation>
|
<translation>L' ID Titolo che hai inserito non è in un formato valido!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="282"/>
|
<location filename="../../NUSGet.py" line="321"/>
|
||||||
<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>
|
<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>Gli ID Titolo sono un codice di 16 caratteri tra numeri e lettere. Per favore inserisci in ID Titolo formattato correttamente, o scegline uno dal menù a sinistra.</translation>
|
<translation>Gli ID Titolo sono un codice di 16 caratteri tra numeri e lettere. Per favore inserisci in ID Titolo formattato correttamente, o scegline uno dal menù a sinistra.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="284"/>
|
<location filename="../../NUSGet.py" line="323"/>
|
||||||
<source>Title ID/Version Not Found</source>
|
<source>Title ID/Version Not Found</source>
|
||||||
<translation>ID Titolo/Versione non trovata</translation>
|
<translation>ID Titolo/Versione non trovata</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="285"/>
|
<location filename="../../NUSGet.py" line="324"/>
|
||||||
<source>No title with the provided Title ID or version could be found!</source>
|
<source>No title with the provided Title ID or version could be found!</source>
|
||||||
<translation>Non è stato trovato nessun titolo con l' ID Titolo o versione data!</translation>
|
<translation>Non è stato trovato nessun titolo con l' ID Titolo o versione data!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="287"/>
|
<location filename="../../NUSGet.py" line="326"/>
|
||||||
<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>
|
<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>Assicurati di aver inserito un' ID Titolo valido, o scegline uno dal database, e che la versione richiesta esista per il titolo che vuoi scaricare.</translation>
|
<translation>Assicurati di aver inserito un' ID Titolo valido, o scegline uno dal database, e che la versione richiesta esista per il titolo che vuoi scaricare.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="289"/>
|
<location filename="../../NUSGet.py" line="328"/>
|
||||||
<source>Content Decryption Failed</source>
|
<source>Content Decryption Failed</source>
|
||||||
<translation>Decriptazione contenuti fallita</translation>
|
<translation>Decriptazione contenuti fallita</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="290"/>
|
<location filename="../../NUSGet.py" line="329"/>
|
||||||
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
||||||
<translation>La decriptazione dei contenuti non è andata a buon fine! I contenuti decriptadi non sono stati creati.</translation>
|
<translation>La decriptazione dei contenuti non è andata a buon fine! I contenuti decriptadi non sono stati creati.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="293"/>
|
<location filename="../../NUSGet.py" line="332"/>
|
||||||
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
||||||
<translation>Il tuo TMD o Ticket potrebbe essere danneggiato, o potrebbe non corrispondere col contenuto da decriptare. Se hai selezionato "Usa file locali, se esistenti", prova a disabilitare quell'opzione prima di riprovare a scaricare per aggiustare potenziali errori coi dati locali.</translation>
|
<translation>Il tuo TMD o Ticket potrebbe essere danneggiato, o potrebbe non corrispondere col contenuto da decriptare. Se hai selezionato "Usa file locali, se esistenti", prova a disabilitare quell'opzione prima di riprovare a scaricare per aggiustare potenziali errori coi dati locali.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="296"/>
|
<location filename="../../NUSGet.py" line="335"/>
|
||||||
<source>Ticket Not Available</source>
|
<source>Ticket Not Available</source>
|
||||||
<translation>Ticket non disponibile</translation>
|
<translation>Ticket non disponibile</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="297"/>
|
<location filename="../../NUSGet.py" line="336"/>
|
||||||
<source>No Ticket is Available for the Requested Title!</source>
|
<source>No Ticket is Available for the Requested Title!</source>
|
||||||
<translation>Nessun ticket disponibile per il titolo richiesto!</translation>
|
<translation>Nessun ticket disponibile per il titolo richiesto!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="300"/>
|
<location filename="../../NUSGet.py" line="339"/>
|
||||||
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
||||||
<translation>Non è stato possibile scaricare un ticket per il titolo richiesto, ma hai selezionato "Crea archivio installabile" o "Crea contenuto decriptato". Queste opzioni non sono disponibili per i titoli senza un ticket. Sono stati salvati solo i contenuti criptati.</translation>
|
<translation>Non è stato possibile scaricare un ticket per il titolo richiesto, ma hai selezionato "Crea archivio installabile" o "Crea contenuto decriptato". Queste opzioni non sono disponibili per i titoli senza un ticket. Sono stati salvati solo i contenuti criptati.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="302"/>
|
<location filename="../../NUSGet.py" line="341"/>
|
||||||
<source>Unknown Error</source>
|
<source>Unknown Error</source>
|
||||||
<translation>Errore sconosciuto</translation>
|
<translation>Errore sconosciuto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="303"/>
|
<location filename="../../NUSGet.py" line="342"/>
|
||||||
<source>An Unknown Error has Occurred!</source>
|
<source>An Unknown Error has Occurred!</source>
|
||||||
<translation>Errore sconosciuto!</translation>
|
<translation>Errore sconosciuto!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="305"/>
|
<location filename="../../NUSGet.py" line="344"/>
|
||||||
<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>
|
<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>Per favore riprova. Se il problema persiste, apri un issue su GitHub specificando in modo dettagliato cosa volevi fare quando è comparso questo errore.</translation>
|
<translation>Per favore riprova. Se il problema persiste, apri un issue su GitHub specificando in modo dettagliato cosa volevi fare quando è comparso questo errore.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="326"/>
|
<location filename="../../NUSGet.py" line="363"/>
|
||||||
<source>Script Issues Occurred</source>
|
<source>Script Issues Occurred</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Errore script</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="327"/>
|
<location filename="../../NUSGet.py" line="364"/>
|
||||||
<source>Some issues occurred while running the download script.</source>
|
<source>Some issues occurred while running the download script.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ci sono stati degli errori con lo script di download.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="329"/>
|
<location filename="../../NUSGet.py" line="366"/>
|
||||||
<source>Check the log for more details about what issues were encountered.</source>
|
<source>Check the log for more details about what issues were encountered.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Guarda i log per più dettagli sull'errore.</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="336"/>
|
|
||||||
<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 type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="346"/>
|
|
||||||
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="373"/>
|
<location filename="../../NUSGet.py" line="373"/>
|
||||||
|
<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>I seguenti titoli non sono stati scaricati a causa di un errore. Controlla che l'ID Titolo e la versione nello script siano validi.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="383"/>
|
||||||
|
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
||||||
|
<translation>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="402"/>
|
||||||
<source>Script Download Failed</source>
|
<source>Script Download Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Download script fallito</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="374"/>
|
<location filename="../../NUSGet.py" line="403"/>
|
||||||
<source>Open NUS Script</source>
|
<source>Open NUS Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Apri script NUS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="375"/>
|
<location filename="../../NUSGet.py" line="404"/>
|
||||||
<source>NUS Scripts (*.nus *.json)</source>
|
<source>NUS Scripts (*.nus *.json)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Scrpit NUS (*.nus *.txt)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="385"/>
|
<location filename="../../NUSGet.py" line="414"/>
|
||||||
<source>An error occurred while parsing the script file!</source>
|
<source>An error occurred while parsing the script file!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ci sono stati degli errori con lo script di download!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="386"/>
|
<location filename="../../NUSGet.py" line="415"/>
|
||||||
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="395"/>
|
<location filename="../../NUSGet.py" line="424"/>
|
||||||
<source>An error occurred while parsing Title IDs!</source>
|
<source>An error occurred while parsing Title IDs!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ci sono stati degli errori con GLI id tITOLO!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="396"/>
|
<location filename="../../NUSGet.py" line="425"/>
|
||||||
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>The title at index {script_data.index(title)} does not have a Title ID!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open NUS script</source>
|
<source>Open NUS script</source>
|
||||||
@@ -301,7 +333,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation type="vanished">Impossibile aprire lo script.</translation>
|
<translation type="vanished">Impossibile aprire lo script.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="97"/>
|
|
||||||
<source>NUSGet v{nusget_version}
|
<source>NUSGet v{nusget_version}
|
||||||
Developed by NinjaCheetah
|
Developed by NinjaCheetah
|
||||||
Powered by libWiiPy {libwiipy_version}
|
Powered by libWiiPy {libwiipy_version}
|
||||||
@@ -312,7 +343,7 @@ Select a title from the list on the left, or enter a Title ID to begin.
|
|||||||
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.
|
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.
|
||||||
|
|
||||||
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
||||||
<translation>NUSGet v{nusget_version}
|
<translation type="vanished">NUSGet v{nusget_version}
|
||||||
Sviluppato da NinjaCheetah
|
Sviluppato da NinjaCheetah
|
||||||
Funzionante con libWiiPy {libwiipy_version}
|
Funzionante con libWiiPy {libwiipy_version}
|
||||||
|
|
||||||
@@ -323,40 +354,42 @@ I titoli marcati da una spunta sono disponibili e hanno un ticket libero, e poss
|
|||||||
I titoli verranno scaricati nella cartella "NUSGet" all'interno della cartella Download.</translation>
|
I titoli verranno scaricati nella cartella "NUSGet" all'interno della cartella Download.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="462"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="480"/>
|
||||||
<source>Apply patches to IOS (Applies to WADs only)</source>
|
<source>Apply patches to IOS (Applies to WADs only)</source>
|
||||||
<translation>Applica patch agli IOS (Solo per le WAD)</translation>
|
<translation>Applica patch agli IOS (Solo per le WAD)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="155"/>
|
<location filename="../../NUSGet.py" line="192"/>
|
||||||
<source>NUSGet Update Available</source>
|
<source>NUSGet Update Available</source>
|
||||||
<translation>Aggiornamento di NUSGet disponibile</translation>
|
<translation>Aggiornamento di NUSGet disponibile</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="156"/>
|
<location filename="../../NUSGet.py" line="193"/>
|
||||||
<source>There's a newer version of NUSGet available!</source>
|
<source>There's a newer version of NUSGet available!</source>
|
||||||
<translation>Una nuova versione di NUSGet è disponibile!</translation>
|
<translation>Una nuova versione di NUSGet è disponibile!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="43"/>
|
<location filename="../../modules/core.py" line="52"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Could not check for updates.</source>
|
Could not check for updates.</source>
|
||||||
<translation>Impossibile trovare eventuali aggiornamenti.</translation>
|
<translation>Impossibile trovare eventuali aggiornamenti.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="51"/>
|
<location filename="../../modules/core.py" line="60"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
There's a newer version of NUSGet available!</source>
|
There's a newer version of NUSGet available!</source>
|
||||||
<translation>Una nuova versione di NUSGet è disponibile!</translation>
|
<translation>Una nuova versione di NUSGet è disponibile!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="53"/>
|
<location filename="../../modules/core.py" line="62"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
You're running the latest release of NUSGet.</source>
|
You're running the latest release of NUSGet.</source>
|
||||||
<translation>Stai utilizzando l'ultima versione di NUSGet.</translation>
|
<translation>
|
||||||
|
|
||||||
|
Stai utilizzando l'ultima versione di NUSGet.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|||||||
@@ -6,105 +6,114 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="26"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="26"/>
|
||||||
<source>MainWindow</source>
|
<source>MainWindow</source>
|
||||||
<translation>메인윈도우</translation>
|
<translation>메인 윈도우</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="43"/>
|
|
||||||
<source>Available Titles</source>
|
<source>Available Titles</source>
|
||||||
<translation>사용 가능한 타이틀</translation>
|
<translation type="vanished">사용 가능한 타이틀</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="72"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="46"/>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation>검색</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="59"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation>지우기</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="90"/>
|
||||||
<source>Wii</source>
|
<source>Wii</source>
|
||||||
<translation>Wii</translation>
|
<translation>Wii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="82"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="100"/>
|
||||||
<source>vWii</source>
|
<source>vWii</source>
|
||||||
<translation>vWii</translation>
|
<translation>vWii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="92"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="110"/>
|
||||||
<source>DSi</source>
|
<source>DSi</source>
|
||||||
<translation>DSi</translation>
|
<translation>DSi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="117"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="135"/>
|
||||||
<source>Title ID</source>
|
<source>Title ID</source>
|
||||||
<translation>타이틀 ID</translation>
|
<translation>타이틀 ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="124"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="142"/>
|
||||||
<source>v</source>
|
<source>v</source>
|
||||||
<translation>v</translation>
|
<translation>v</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="137"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="155"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation>버전</translation>
|
<translation>버전</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="144"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="162"/>
|
||||||
<source>Console:</source>
|
<source>Console:</source>
|
||||||
<translation>콘솔:</translation>
|
<translation>콘솔:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="180"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="198"/>
|
||||||
<source>Start Download</source>
|
<source>Start Download</source>
|
||||||
<translation>다운로드 시작</translation>
|
<translation>다운로드 시작</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="193"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="211"/>
|
||||||
<source>Run Script</source>
|
<source>Run Script</source>
|
||||||
<translation>스크립트 실행</translation>
|
<translation>스크립트 실행</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="220"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="238"/>
|
||||||
<source>General Settings</source>
|
<source>General Settings</source>
|
||||||
<translation>일반 설정</translation>
|
<translation>일반 설정</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="251"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="269"/>
|
||||||
<source>Pack installable archive (WAD/TAD)</source>
|
<source>Pack installable archive (WAD/TAD)</source>
|
||||||
<translation>설치 가능한 아카이브 (WAD/TAD) 팩</translation>
|
<translation>설치 가능한 아카이브 (WAD/TAD) 팩</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="266"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="284"/>
|
||||||
<source>File Name</source>
|
<source>File Name</source>
|
||||||
<translation>파일 이름</translation>
|
<translation>파일 이름</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="300"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="318"/>
|
||||||
<source>Keep encrypted contents</source>
|
<source>Keep encrypted contents</source>
|
||||||
<translation>암호화된 내용 보관</translation>
|
<translation>암호화된 내용 보관</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="336"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="354"/>
|
||||||
<source>Create decrypted contents (*.app)</source>
|
<source>Create decrypted contents (*.app)</source>
|
||||||
<translation>복호화된 콘텐츠 (*.app) 생성</translation>
|
<translation>복호화된 콘텐츠 (*.app) 생성</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="375"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="393"/>
|
||||||
<source>Use local files, if they exist</source>
|
<source>Use local files, if they exist</source>
|
||||||
<translation>로컬 파일이 있으면 사용</translation>
|
<translation>로컬 파일이 있으면 사용</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="420"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="438"/>
|
||||||
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
||||||
<translation>Wii U NUS 사용(더 빠르고 Wii/vWii에만 효과 있음)</translation>
|
<translation>Wii U NUS 사용(더 빠르고 Wii/vWii에만 효과 있음)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="518"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="536"/>
|
||||||
<source>vWii Title Settings</source>
|
<source>vWii Title Settings</source>
|
||||||
<translation>vWii 타이틀 설정</translation>
|
<translation>vWii 타이틀 설정</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="552"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="570"/>
|
||||||
<source>Re-encrypt title using the Wii Common Key</source>
|
<source>Re-encrypt title using the Wii Common Key</source>
|
||||||
<translation>Wii 공통 키를 사용하여 타이틀을 다시 암호화</translation>
|
<translation>Wii 공통 키를 사용하여 타이틀을 다시 암호화</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="609"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="627"/>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
@@ -135,154 +144,177 @@ p, li { white-space: pre-wrap; }
|
|||||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></translation>
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="247"/>
|
<location filename="../../NUSGet.py" line="98"/>
|
||||||
|
<source>NUSGet v{nusget_version}
|
||||||
|
Developed by NinjaCheetah
|
||||||
|
Powered by libWiiPy {libwiipy_version}
|
||||||
|
DSi support provided by libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Select a title from the list on the left, or enter a Title ID to begin.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Titles will be downloaded to a folder named "NUSGet Downloads" inside your downloads folder.</source>
|
||||||
|
<translation>NUSGet v{nusget_version}
|
||||||
|
개발자 : NinjaCheetah
|
||||||
|
libWiiPy {libwiipy_version}에서 제공
|
||||||
|
DSi 지원 : libTWLPy {libtwlpy_version}에서 제공
|
||||||
|
|
||||||
|
왼쪽 목록에서 타이틀을 선택하거나 타이틀 ID를 입력하여 시작하세요.
|
||||||
|
|
||||||
|
체크 표시가 있는 타이틀은 무료이며 티켓을 사용할 수 있으며, WAD 또는 TAD에 복호화 및/또는 패킹할 수 있습니다. X가 있는 타이틀은 티켓이 없으며 암호화된 콘텐츠만 저장할 수 있습니다.
|
||||||
|
|
||||||
|
타이틀은 다운로드 폴더 내의 "NUSGet Downloads"이라는 폴더에 다운로드됩니다.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="286"/>
|
||||||
<source>No Output Selected</source>
|
<source>No Output Selected</source>
|
||||||
<translation>선택된 출력 없음</translation>
|
<translation>선택된 출력 없음</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="248"/>
|
<location filename="../../NUSGet.py" line="287"/>
|
||||||
<source>You have not selected any format to output the data in!</source>
|
<source>You have not selected any format to output the data in!</source>
|
||||||
<translation>데이터를 출력할 형식을 선택하지 않았습니다!</translation>
|
<translation>데이터를 출력할 형식을 선택하지 않았습니다!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="250"/>
|
<location filename="../../NUSGet.py" line="289"/>
|
||||||
<source>Please select at least one option for how you would like the download to be saved.</source>
|
<source>Please select at least one option for how you would like the download to be saved.</source>
|
||||||
<translation>다운로드를 저장할 방법을 하나 이상 선택하세요.</translation>
|
<translation>다운로드를 저장할 방법을 하나 이상 선택하세요.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="279"/>
|
<location filename="../../NUSGet.py" line="318"/>
|
||||||
<source>Invalid Title ID</source>
|
<source>Invalid Title ID</source>
|
||||||
<translation>잘못된 제목 ID</translation>
|
<translation>잘못된 제목 ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="280"/>
|
<location filename="../../NUSGet.py" line="319"/>
|
||||||
<source>The Title ID you have entered is not in a valid format!</source>
|
<source>The Title ID you have entered is not in a valid format!</source>
|
||||||
<translation>입력한 타이틀 ID의 형식이 올바르지 않습니다!</translation>
|
<translation>입력한 타이틀 ID의 형식이 올바르지 않습니다!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="282"/>
|
<location filename="../../NUSGet.py" line="321"/>
|
||||||
<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>
|
<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>타이틀 ID는 숫자와 문자로 구성된 16자리 문자열이어야 합니다. 올바르게 포맷된 타이틀 ID를 입력하거나 왼쪽 메뉴에서 하나를 선택하세요.</translation>
|
<translation>타이틀 ID는 숫자와 문자로 구성된 16자리 문자열이어야 합니다. 올바르게 포맷된 타이틀 ID를 입력하거나 왼쪽 메뉴에서 하나를 선택하세요.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="284"/>
|
<location filename="../../NUSGet.py" line="323"/>
|
||||||
<source>Title ID/Version Not Found</source>
|
<source>Title ID/Version Not Found</source>
|
||||||
<translation>타이틀 ID/버전을 찾을 수 없음</translation>
|
<translation>타이틀 ID/버전을 찾을 수 없음</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="285"/>
|
<location filename="../../NUSGet.py" line="324"/>
|
||||||
<source>No title with the provided Title ID or version could be found!</source>
|
<source>No title with the provided Title ID or version could be found!</source>
|
||||||
<translation>제공된 타이틀 ID 또는 버전으로 제목을 찾을 수 없습니다!</translation>
|
<translation>제공된 타이틀 ID 또는 버전으로 제목을 찾을 수 없습니다!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="287"/>
|
<location filename="../../NUSGet.py" line="326"/>
|
||||||
<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>
|
<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>유효한 타이틀 ID를 입력했는지 또는 타이틀 데이터베이스에서 선택했는지, 그리고 다운로드하려는 타이틀에 대해 제공된 버전이 있는지 확인하세요.</translation>
|
<translation>유효한 타이틀 ID를 입력했는지 또는 타이틀 데이터베이스에서 선택했는지, 그리고 다운로드하려는 타이틀에 대해 제공된 버전이 있는지 확인하세요.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="289"/>
|
<location filename="../../NUSGet.py" line="328"/>
|
||||||
<source>Content Decryption Failed</source>
|
<source>Content Decryption Failed</source>
|
||||||
<translation>콘텐츠 복호화 실패</translation>
|
<translation>콘텐츠 복호화 실패</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="290"/>
|
<location filename="../../NUSGet.py" line="329"/>
|
||||||
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
||||||
<translation>콘텐츠 복호화가 성공하지 못했습니다! 복호화된 콘텐츠를 만들 수 없습니다.</translation>
|
<translation>콘텐츠 복호화가 성공하지 못했습니다! 복호화된 콘텐츠를 만들 수 없습니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="293"/>
|
<location filename="../../NUSGet.py" line="332"/>
|
||||||
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
||||||
<translation>TMD 또는 티켓이 손상되었거나 복호화되는 콘텐츠와 일치하지 않을 수 있습니다. "로컬 파일이 있으면 사용"을 체크한 경우, 로컬 데이터와 관련된 잠재적인 문제를 해결하기 위해 다시 다운로드를 시도하기 전에 해당 옵션을 비활성화해 보세요.</translation>
|
<translation>TMD 또는 티켓이 손상되었거나 복호화되는 콘텐츠와 일치하지 않을 수 있습니다. "로컬 파일이 있으면 사용"을 체크한 경우, 로컬 데이터와 관련된 잠재적인 문제를 해결하기 위해 다시 다운로드를 시도하기 전에 해당 옵션을 비활성화해 보세요.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="296"/>
|
<location filename="../../NUSGet.py" line="335"/>
|
||||||
<source>Ticket Not Available</source>
|
<source>Ticket Not Available</source>
|
||||||
<translation>사용 가능한 티켓이 아님</translation>
|
<translation>사용 가능한 티켓이 아님</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="297"/>
|
<location filename="../../NUSGet.py" line="336"/>
|
||||||
<source>No Ticket is Available for the Requested Title!</source>
|
<source>No Ticket is Available for the Requested Title!</source>
|
||||||
<translation>요청한 타이틀에 대한 티켓이 없습니다!</translation>
|
<translation>요청한 타이틀에 대한 티켓이 없습니다!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="300"/>
|
<location filename="../../NUSGet.py" line="339"/>
|
||||||
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
||||||
<translation>요청한 타이틀에 대한 티켓을 다운로드할 수 없지만 "설치 가능한 아카이브 팩" 또는 "암호 해독된 콘텐츠 생성"을 선택했습니다. 이러한 옵션은 티켓이 없는 타이틀에는 사용할 수 없습니다. 암호화된 콘텐츠만 저장되었습니다.</translation>
|
<translation>요청한 타이틀에 대한 티켓을 다운로드할 수 없지만 "설치 가능한 아카이브 팩" 또는 "암호 해독된 콘텐츠 생성"을 선택했습니다. 이러한 옵션은 티켓이 없는 타이틀에는 사용할 수 없습니다. 암호화된 콘텐츠만 저장되었습니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="302"/>
|
<location filename="../../NUSGet.py" line="341"/>
|
||||||
<source>Unknown Error</source>
|
<source>Unknown Error</source>
|
||||||
<translation>알 수 없는 오류</translation>
|
<translation>알 수 없는 오류</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="303"/>
|
<location filename="../../NUSGet.py" line="342"/>
|
||||||
<source>An Unknown Error has Occurred!</source>
|
<source>An Unknown Error has Occurred!</source>
|
||||||
<translation>알 수 없는 오류가 발생했습니다!</translation>
|
<translation>알 수 없는 오류가 발생했습니다!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="305"/>
|
<location filename="../../NUSGet.py" line="344"/>
|
||||||
<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>
|
<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>다시 시도하세요. 이 문제가 지속되면 GitHub에서 새 이슈를 열어 이 오류가 발생했을 때 무엇을 하려고 했는지 자세히 설명하세요.</translation>
|
<translation>다시 시도하세요. 이 문제가 지속되면 GitHub에서 새 이슈를 열어 이 오류가 발생했을 때 무엇을 하려고 했는지 자세히 설명하세요.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="326"/>
|
<location filename="../../NUSGet.py" line="363"/>
|
||||||
<source>Script Issues Occurred</source>
|
<source>Script Issues Occurred</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>스크립트 문제가 발생함</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="327"/>
|
<location filename="../../NUSGet.py" line="364"/>
|
||||||
<source>Some issues occurred while running the download script.</source>
|
<source>Some issues occurred while running the download script.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>다운로드 스크립트를 실행하는 동안 몇 가지 문제가 발생했습니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="329"/>
|
<location filename="../../NUSGet.py" line="366"/>
|
||||||
<source>Check the log for more details about what issues were encountered.</source>
|
<source>Check the log for more details about what issues were encountered.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>발생한 문제에 대한 자세한 내용은 로그를 확인하세요.</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="336"/>
|
|
||||||
<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 type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="346"/>
|
|
||||||
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="373"/>
|
<location filename="../../NUSGet.py" line="373"/>
|
||||||
|
<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>다음 제목은 오류로 인해 다운로드할 수 없습니다. 스크립트에 나열된 타이틀 ID와 버전이 유효한지 확인하세요.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="383"/>
|
||||||
|
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
||||||
|
<translation>"암호 해독된 콘텐츠 만들기" 또는 "설치 가능한 아카이브 압축"을 활성화했지만 스크립트의 다음 타이틀에는 사용 가능한 티켓이 없습니다. 활성화된 경우 암호화된 콘텐츠가 여전히 다운로드되었습니다.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="402"/>
|
||||||
<source>Script Download Failed</source>
|
<source>Script Download Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>스크립트 다운로드 실패함</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="374"/>
|
<location filename="../../NUSGet.py" line="403"/>
|
||||||
<source>Open NUS Script</source>
|
<source>Open NUS Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>NUS 스크립트 열기</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="375"/>
|
<location filename="../../NUSGet.py" line="404"/>
|
||||||
<source>NUS Scripts (*.nus *.json)</source>
|
<source>NUS Scripts (*.nus *.json)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>NUS 스크립트 (*.nus *.json)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="385"/>
|
<location filename="../../NUSGet.py" line="414"/>
|
||||||
<source>An error occurred while parsing the script file!</source>
|
<source>An error occurred while parsing the script file!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>스크립트 파일을 구문 분석하는 동안 오류가 발생했습니다!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="386"/>
|
<location filename="../../NUSGet.py" line="415"/>
|
||||||
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>{e.lineno} 줄, {e.colno} 열에서 오류가 발생했습니다. 스크립트를 다시 확인하고 다시 시도하세요.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="395"/>
|
<location filename="../../NUSGet.py" line="424"/>
|
||||||
<source>An error occurred while parsing Title IDs!</source>
|
<source>An error occurred while parsing Title IDs!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>타이틀 ID를 구문 분석하는 동안 오류가 발생했습니다!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="396"/>
|
<location filename="../../NUSGet.py" line="425"/>
|
||||||
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>{script_data.index(title)} 인덱스의 타이틀에 타이틀 ID가 없습니다!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open NUS script</source>
|
<source>Open NUS script</source>
|
||||||
@@ -301,7 +333,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation type="vanished">스크립트를 열 수 없습니다.</translation>
|
<translation type="vanished">스크립트를 열 수 없습니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="97"/>
|
|
||||||
<source>NUSGet v{nusget_version}
|
<source>NUSGet v{nusget_version}
|
||||||
Developed by NinjaCheetah
|
Developed by NinjaCheetah
|
||||||
Powered by libWiiPy {libwiipy_version}
|
Powered by libWiiPy {libwiipy_version}
|
||||||
@@ -312,7 +343,7 @@ Select a title from the list on the left, or enter a Title ID to begin.
|
|||||||
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.
|
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.
|
||||||
|
|
||||||
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
||||||
<translation>NUSGet v{nusget_version}
|
<translation type="vanished">NUSGet v{nusget_version}
|
||||||
개발자 : NinjaCheetah
|
개발자 : NinjaCheetah
|
||||||
libWiiPy {libwiipy_version}에서 제공
|
libWiiPy {libwiipy_version}에서 제공
|
||||||
DSi 지원 : libTWLPy {libtwlpy_version}에서 제공
|
DSi 지원 : libTWLPy {libtwlpy_version}에서 제공
|
||||||
@@ -324,22 +355,22 @@ DSi 지원 : libTWLPy {libtwlpy_version}에서 제공
|
|||||||
타이틀은 다운로드 폴더 내의 "NUSBet"이라는 폴더에 다운로드됩니다.</translation>
|
타이틀은 다운로드 폴더 내의 "NUSBet"이라는 폴더에 다운로드됩니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="462"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="480"/>
|
||||||
<source>Apply patches to IOS (Applies to WADs only)</source>
|
<source>Apply patches to IOS (Applies to WADs only)</source>
|
||||||
<translation>IOS에 패치 적용 (WAD에만 적용)</translation>
|
<translation>IOS에 패치 적용 (WAD에만 적용)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="155"/>
|
<location filename="../../NUSGet.py" line="192"/>
|
||||||
<source>NUSGet Update Available</source>
|
<source>NUSGet Update Available</source>
|
||||||
<translation>NUSGet 업데이트 가능</translation>
|
<translation>NUSGet 업데이트 가능</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="156"/>
|
<location filename="../../NUSGet.py" line="193"/>
|
||||||
<source>There's a newer version of NUSGet available!</source>
|
<source>There's a newer version of NUSGet available!</source>
|
||||||
<translation>NUSBet의 새로운 버전이 나왔습니다!</translation>
|
<translation>NUSBet의 새로운 버전이 나왔습니다!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="43"/>
|
<location filename="../../modules/core.py" line="52"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Could not check for updates.</source>
|
Could not check for updates.</source>
|
||||||
@@ -348,7 +379,7 @@ Could not check for updates.</source>
|
|||||||
업데이트를 확인할 수 없습니다.</translation>
|
업데이트를 확인할 수 없습니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="51"/>
|
<location filename="../../modules/core.py" line="60"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
There's a newer version of NUSGet available!</source>
|
There's a newer version of NUSGet available!</source>
|
||||||
@@ -357,13 +388,13 @@ There's a newer version of NUSGet available!</source>
|
|||||||
NUSBet의 새로운 버전이 나왔습니다!</translation>
|
NUSBet의 새로운 버전이 나왔습니다!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="53"/>
|
<location filename="../../modules/core.py" line="62"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
You're running the latest release of NUSGet.</source>
|
You're running the latest release of NUSGet.</source>
|
||||||
<translation>
|
<translation>
|
||||||
|
|
||||||
NUSBet의 최신 릴리스를 실행하고 있습니다.</translation>
|
NUSGet의 최신 릴리스를 실행하고 있습니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|||||||
@@ -9,102 +9,111 @@
|
|||||||
<translation>MainWindow</translation>
|
<translation>MainWindow</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="43"/>
|
|
||||||
<source>Available Titles</source>
|
<source>Available Titles</source>
|
||||||
<translation>Tilgjengelige Titler</translation>
|
<translation type="vanished">Tilgjengelige Titler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="72"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="46"/>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation>Søk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="59"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation>Klar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="90"/>
|
||||||
<source>Wii</source>
|
<source>Wii</source>
|
||||||
<translation>Wii</translation>
|
<translation>Wii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="82"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="100"/>
|
||||||
<source>vWii</source>
|
<source>vWii</source>
|
||||||
<translation>vWii</translation>
|
<translation>vWii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="92"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="110"/>
|
||||||
<source>DSi</source>
|
<source>DSi</source>
|
||||||
<translation>DSi</translation>
|
<translation>DSi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="117"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="135"/>
|
||||||
<source>Title ID</source>
|
<source>Title ID</source>
|
||||||
<translation>Tittel ID</translation>
|
<translation>Tittel ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="124"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="142"/>
|
||||||
<source>v</source>
|
<source>v</source>
|
||||||
<translation>v</translation>
|
<translation>v</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="137"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="155"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation>Versjon</translation>
|
<translation>Versjon</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="144"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="162"/>
|
||||||
<source>Console:</source>
|
<source>Console:</source>
|
||||||
<translation>Konsoll:</translation>
|
<translation>Konsoll:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="180"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="198"/>
|
||||||
<source>Start Download</source>
|
<source>Start Download</source>
|
||||||
<translation>Start Nedlasting</translation>
|
<translation>Start Nedlasting</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="193"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="211"/>
|
||||||
<source>Run Script</source>
|
<source>Run Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Kjøre Skript</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="220"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="238"/>
|
||||||
<source>General Settings</source>
|
<source>General Settings</source>
|
||||||
<translation>Generelle Instillinger</translation>
|
<translation>Generelle Instillinger</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="251"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="269"/>
|
||||||
<source>Pack installable archive (WAD/TAD)</source>
|
<source>Pack installable archive (WAD/TAD)</source>
|
||||||
<translation>Pakke installerbart arkiv (WAD/TAD)</translation>
|
<translation>Pakke installerbart arkiv (WAD/TAD)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="266"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="284"/>
|
||||||
<source>File Name</source>
|
<source>File Name</source>
|
||||||
<translation>Filnavn</translation>
|
<translation>Filnavn</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="300"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="318"/>
|
||||||
<source>Keep encrypted contents</source>
|
<source>Keep encrypted contents</source>
|
||||||
<translation>Oppbevar kryptert innhold</translation>
|
<translation>Oppbevar kryptert innhold</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="336"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="354"/>
|
||||||
<source>Create decrypted contents (*.app)</source>
|
<source>Create decrypted contents (*.app)</source>
|
||||||
<translation>Opprette dekryptert innold (*.app)</translation>
|
<translation>Opprette dekryptert innold (*.app)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="375"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="393"/>
|
||||||
<source>Use local files, if they exist</source>
|
<source>Use local files, if they exist</source>
|
||||||
<translation>Bruk lokale filer, hvis de finnes</translation>
|
<translation>Bruk lokale filer, hvis de finnes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="420"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="438"/>
|
||||||
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
||||||
<translation>Bruk Wii U NUS (raskere, påvirker bare Wii/vWii)</translation>
|
<translation>Bruk Wii U NUS (raskere, påvirker bare Wii/vWii)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="518"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="536"/>
|
||||||
<source>vWii Title Settings</source>
|
<source>vWii Title Settings</source>
|
||||||
<translation>vWii Tittelinstillinger</translation>
|
<translation>vWii Tittelinstillinger</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="552"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="570"/>
|
||||||
<source>Re-encrypt title using the Wii Common Key</source>
|
<source>Re-encrypt title using the Wii Common Key</source>
|
||||||
<translation>Krypter tittelen på nytt ved hjelp av Wii Common Key</translation>
|
<translation>Krypter tittelen på nytt ved hjelp av Wii Common Key</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="609"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="627"/>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
@@ -113,7 +122,14 @@ li.unchecked::marker { content: "\2610"; }
|
|||||||
li.checked::marker { content: "\2612"; }
|
li.checked::marker { content: "\2612"; }
|
||||||
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||||
<p style="-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:'Sans Serif'; font-size:9pt;"><br /></p></body></html></source>
|
<p style="-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:'Sans Serif'; font-size:9pt;"><br /></p></body></html></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
|
p, li { white-space: pre-wrap; }
|
||||||
|
hr { height: 1px; border-width: 0; }
|
||||||
|
li.unchecked::marker { content: "\2610"; }
|
||||||
|
li.checked::marker { content: "\2612"; }
|
||||||
|
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||||
|
<p style="-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:'Sans Serif'; font-size:9pt;"><br /></p></body></html></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
@@ -128,7 +144,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></translation>
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="97"/>
|
|
||||||
<source>NUSGet v{nusget_version}
|
<source>NUSGet v{nusget_version}
|
||||||
Developed by NinjaCheetah
|
Developed by NinjaCheetah
|
||||||
Powered by libWiiPy {libwiipy_version}
|
Powered by libWiiPy {libwiipy_version}
|
||||||
@@ -139,7 +154,7 @@ Select a title from the list on the left, or enter a Title ID to begin.
|
|||||||
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.
|
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.
|
||||||
|
|
||||||
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
||||||
<translation>NUSGet v{nusget_version}
|
<translation type="vanished">NUSGet v{nusget_version}
|
||||||
Utviklet av NinjaCheetah
|
Utviklet av NinjaCheetah
|
||||||
Drevet av libWiiPy {libwiipy_version}
|
Drevet av libWiiPy {libwiipy_version}
|
||||||
DSi støtte levert av libTWLPy {libtwlpy_version}
|
DSi støtte levert av libTWLPy {libtwlpy_version}
|
||||||
@@ -151,190 +166,219 @@ Titler merket med en hake er fri og har en billett tilgjengelig, og kan dekrypte
|
|||||||
Titler er lastes ned til en mappe med navnet "NUSGet" i nedlastingsmappen din.</translation>
|
Titler er lastes ned til en mappe med navnet "NUSGet" i nedlastingsmappen din.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="247"/>
|
<location filename="../../NUSGet.py" line="98"/>
|
||||||
|
<source>NUSGet v{nusget_version}
|
||||||
|
Developed by NinjaCheetah
|
||||||
|
Powered by libWiiPy {libwiipy_version}
|
||||||
|
DSi support provided by libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Select a title from the list on the left, or enter a Title ID to begin.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Titles will be downloaded to a folder named "NUSGet Downloads" inside your downloads folder.</source>
|
||||||
|
<translation>NUSGet v{nusget_version}
|
||||||
|
Utviklet av NinjaCheetah
|
||||||
|
Drevet av libWiiPy {libwiipy_version}
|
||||||
|
DSi støtte levert av libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Velg en tittel fra listen til venstre, eller skriv inn en Tittel ID for å begynne.
|
||||||
|
|
||||||
|
Titler merket med en hake er fri og har en billett tilgjengelig, og kan dekrypteres og/eller pakkes inn i en WAD eller TAD. Titler med en X ikke har en billett, og bare det krypterte innholdet kan lagres.
|
||||||
|
|
||||||
|
Titler er lastes ned til en mappe med navnet "NUSGet Downloads" i nedlastingsmappen din.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="286"/>
|
||||||
<source>No Output Selected</source>
|
<source>No Output Selected</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ingen Utgang Valgt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="248"/>
|
<location filename="../../NUSGet.py" line="287"/>
|
||||||
<source>You have not selected any format to output the data in!</source>
|
<source>You have not selected any format to output the data in!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Du ikke har valgt noe format å lagre dataene i!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="250"/>
|
<location filename="../../NUSGet.py" line="289"/>
|
||||||
<source>Please select at least one option for how you would like the download to be saved.</source>
|
<source>Please select at least one option for how you would like the download to be saved.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Velg minst ett valg for hvordan du vil at nedlastingen skal lagres.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="279"/>
|
<location filename="../../NUSGet.py" line="318"/>
|
||||||
<source>Invalid Title ID</source>
|
<source>Invalid Title ID</source>
|
||||||
<translation>Ugyldig Tittel ID</translation>
|
<translation>Ugyldig Tittel ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="280"/>
|
<location filename="../../NUSGet.py" line="319"/>
|
||||||
<source>The Title ID you have entered is not in a valid format!</source>
|
<source>The Title ID you have entered is not in a valid format!</source>
|
||||||
<translation>Tittel IDen du har angitt er ikke i et gyldig format!</translation>
|
<translation>Tittel IDen du har angitt er ikke i et gyldig format!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="282"/>
|
<location filename="../../NUSGet.py" line="321"/>
|
||||||
<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>
|
<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>Tittel IDer må være 16-sifrede tall og bokstav strenger. Vennligst skriv inn en korrekt formatert Tittel ID, eller velg en fra menyen til venstre.</translation>
|
<translation>Tittel IDer må være 16-sifrede tall og bokstav strenger. Vennligst skriv inn en korrekt formatert Tittel ID, eller velg en fra menyen til venstre.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="284"/>
|
<location filename="../../NUSGet.py" line="323"/>
|
||||||
<source>Title ID/Version Not Found</source>
|
<source>Title ID/Version Not Found</source>
|
||||||
<translation>Tittel ID/Versjon Ikke Funnet</translation>
|
<translation>Tittel ID/Versjon Ikke Funnet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="285"/>
|
<location filename="../../NUSGet.py" line="324"/>
|
||||||
<source>No title with the provided Title ID or version could be found!</source>
|
<source>No title with the provided Title ID or version could be found!</source>
|
||||||
<translation>Ingen tittel med oppgitt Tittel ID eller versjon ble funnet!</translation>
|
<translation>Ingen tittel med oppgitt Tittel ID eller versjon ble funnet!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="287"/>
|
<location filename="../../NUSGet.py" line="326"/>
|
||||||
<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>
|
<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>Vennligst kontroller at du har oppgitt en gyldig Tittel ID, eller valgt en fra titteldatabasen, og at den angitte versjonen finnes for tittelen du forsøker å laste ned.</translation>
|
<translation>Sjekk at du har oppgitt en gyldig Tittel ID, eller valgt en fra titteldatabasen, og at den angitte versjonen finnes for tittelen du forsøker å laste ned.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="289"/>
|
<location filename="../../NUSGet.py" line="328"/>
|
||||||
<source>Content Decryption Failed</source>
|
<source>Content Decryption Failed</source>
|
||||||
<translation>Dekryptering av Innhold Mislyktes</translation>
|
<translation>Dekryptering av Innhold Mislyktes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="290"/>
|
<location filename="../../NUSGet.py" line="329"/>
|
||||||
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
||||||
<translation>Dekryptering av innhold var ikke vellykket! Dekryptert innhold kunne ikke opprettes.</translation>
|
<translation>Dekryptering av innhold var ikke vellykket! Dekryptert innhold kunne ikke opprettes.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="293"/>
|
<location filename="../../NUSGet.py" line="332"/>
|
||||||
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
||||||
<translation>TMDen eller Billetten kan være skadet, eller det kan hende at de ikke samsvarer med innholdet some dekrypteres. Hvis du har krysset av for "Bruk lokale filer, hvis de finnes", kan du prøve å deaktivere dette alternativet før du prøver nedlastingen på nytt for å løse eventuelle problemer med lokale data.</translation>
|
<translation>TMDen eller Billetten kan være skadet, eller det kan hende at de ikke samsvarer med innholdet some dekrypteres. Hvis du har krysset av for "Bruk lokale filer, hvis de finnes", kan du prøve å deaktivere dette alternativet før du prøver nedlastingen på nytt for å løse eventuelle problemer med lokale data.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="296"/>
|
<location filename="../../NUSGet.py" line="335"/>
|
||||||
<source>Ticket Not Available</source>
|
<source>Ticket Not Available</source>
|
||||||
<translation>Billett Ikke Tilgjengelig</translation>
|
<translation>Billett Ikke Tilgjengelig</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="297"/>
|
<location filename="../../NUSGet.py" line="336"/>
|
||||||
<source>No Ticket is Available for the Requested Title!</source>
|
<source>No Ticket is Available for the Requested Title!</source>
|
||||||
<translation>Ingen billett er tilgjengelig for den forespurte tittelen!</translation>
|
<translation>Ingen billett er tilgjengelig for den forespurte tittelen!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="300"/>
|
<location filename="../../NUSGet.py" line="339"/>
|
||||||
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
||||||
<translation>En billett kunne ikke lastes ned for den forespurte tittelen, men du har valgt "Pakk installerbart arkiv" eller "Opprett dekryptert innhold". Disse alternativene er ikke tilgjenelige for titler uten billett. Bare kryptert innhold har blitt lagret.</translation>
|
<translation>En billett kunne ikke lastes ned for den forespurte tittelen, men du har valgt "Pakk installerbart arkiv" eller "Opprett dekryptert innhold". Disse alternativene er ikke tilgjenelige for titler uten billett. Bare kryptert innhold har blitt lagret.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="302"/>
|
<location filename="../../NUSGet.py" line="341"/>
|
||||||
<source>Unknown Error</source>
|
<source>Unknown Error</source>
|
||||||
<translation>Ukjent Feil</translation>
|
<translation>Ukjent Feil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="303"/>
|
<location filename="../../NUSGet.py" line="342"/>
|
||||||
<source>An Unknown Error has Occurred!</source>
|
<source>An Unknown Error has Occurred!</source>
|
||||||
<translation>En ukjent feil har oppstått!</translation>
|
<translation>En ukjent feil har oppstått!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="305"/>
|
<location filename="../../NUSGet.py" line="344"/>
|
||||||
<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>
|
<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>Vennligst prøv igjen. Hvis dette problemet vedvarer, åpne et nytt issue på GitHub med detaljer om hva du prøvde å gjøre da denne feilen oppstod.</translation>
|
<translation>Prøv igjen. Hvis dette problemet vedvarer, åpne et nytt issue på GitHub med detaljer om hva du prøvde å gjøre da denne feilen oppstod.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="326"/>
|
<location filename="../../NUSGet.py" line="363"/>
|
||||||
<source>Script Issues Occurred</source>
|
<source>Script Issues Occurred</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Skriptfeil Oppstod</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="327"/>
|
<location filename="../../NUSGet.py" line="364"/>
|
||||||
<source>Some issues occurred while running the download script.</source>
|
<source>Some issues occurred while running the download script.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Noen feil oppstod under kjøring av nedlastingsskriptet.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="329"/>
|
<location filename="../../NUSGet.py" line="366"/>
|
||||||
<source>Check the log for more details about what issues were encountered.</source>
|
<source>Check the log for more details about what issues were encountered.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Sjekk loggen for mer informasjon om feilene som har oppstått.</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="336"/>
|
|
||||||
<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 type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="346"/>
|
|
||||||
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="373"/>
|
<location filename="../../NUSGet.py" line="373"/>
|
||||||
|
<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>Følgende titler kunne ikke lastes ned på grunn av en feil. Sjekk at Tittel IDen og versjon som er oppført i skriptet er gyldige.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="383"/>
|
||||||
|
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
||||||
|
<translation>Du aktiverte "Opprett dekryptert innhold" eller "Pakk installerbart archive", men følgende titler i skriptet har ikke tilgjengelige billetter. Hvis aktivert, ble kryptert innhold fortsatt lastet ned.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="402"/>
|
||||||
<source>Script Download Failed</source>
|
<source>Script Download Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Skriptnedlasting Mislyktes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="374"/>
|
<location filename="../../NUSGet.py" line="403"/>
|
||||||
<source>Open NUS Script</source>
|
<source>Open NUS Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Åpne NUS Skript</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="375"/>
|
<location filename="../../NUSGet.py" line="404"/>
|
||||||
<source>NUS Scripts (*.nus *.json)</source>
|
<source>NUS Scripts (*.nus *.json)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>NUS Skript (*.nus *.json)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="385"/>
|
<location filename="../../NUSGet.py" line="414"/>
|
||||||
<source>An error occurred while parsing the script file!</source>
|
<source>An error occurred while parsing the script file!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Det oppstod en feil under parsing av skriptfilen!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="386"/>
|
<location filename="../../NUSGet.py" line="415"/>
|
||||||
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="395"/>
|
<location filename="../../NUSGet.py" line="424"/>
|
||||||
<source>An error occurred while parsing Title IDs!</source>
|
<source>An error occurred while parsing Title IDs!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Det oppstod en feil under parsing av Tittel IDer!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="396"/>
|
<location filename="../../NUSGet.py" line="425"/>
|
||||||
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Tittelen ved indeks {script_data.index(title)} har ikke en Tittel ID!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="462"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="480"/>
|
||||||
<source>Apply patches to IOS (Applies to WADs only)</source>
|
<source>Apply patches to IOS (Applies to WADs only)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Påfør patcher på IOS (gjelder kun WADer)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="155"/>
|
<location filename="../../NUSGet.py" line="192"/>
|
||||||
<source>NUSGet Update Available</source>
|
<source>NUSGet Update Available</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>NUSGet Oppdatering Tilgjengelig</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="156"/>
|
<location filename="../../NUSGet.py" line="193"/>
|
||||||
<source>There's a newer version of NUSGet available!</source>
|
<source>There's a newer version of NUSGet available!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Det finnes en nyere versjon av NUSGet tilgjengelig!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="43"/>
|
<location filename="../../modules/core.py" line="52"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Could not check for updates.</source>
|
Could not check for updates.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>
|
||||||
|
|
||||||
|
Kunne ikke sjekke for oppdateringer.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="51"/>
|
<location filename="../../modules/core.py" line="60"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
There's a newer version of NUSGet available!</source>
|
There's a newer version of NUSGet available!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>
|
||||||
|
|
||||||
|
Det finnes en nyere versjon av NUSGet tilgjengelig!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="53"/>
|
<location filename="../../modules/core.py" line="62"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
You're running the latest release of NUSGet.</source>
|
You're running the latest release of NUSGet.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>
|
||||||
|
|
||||||
|
Du kjører den nyeste versjonen av NUSGet.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|||||||
@@ -9,102 +9,111 @@
|
|||||||
<translation>MainWindow</translation>
|
<translation>MainWindow</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="43"/>
|
|
||||||
<source>Available Titles</source>
|
<source>Available Titles</source>
|
||||||
<translation>Tilgjengelige Titler</translation>
|
<translation type="vanished">Tilgjengelige Titler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="72"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="46"/>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation>Søk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="59"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation>Klar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="90"/>
|
||||||
<source>Wii</source>
|
<source>Wii</source>
|
||||||
<translation>Wii</translation>
|
<translation>Wii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="82"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="100"/>
|
||||||
<source>vWii</source>
|
<source>vWii</source>
|
||||||
<translation>vWii</translation>
|
<translation>vWii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="92"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="110"/>
|
||||||
<source>DSi</source>
|
<source>DSi</source>
|
||||||
<translation>DSi</translation>
|
<translation>DSi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="117"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="135"/>
|
||||||
<source>Title ID</source>
|
<source>Title ID</source>
|
||||||
<translation>Tittel ID</translation>
|
<translation>Tittel ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="124"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="142"/>
|
||||||
<source>v</source>
|
<source>v</source>
|
||||||
<translation>v</translation>
|
<translation>v</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="137"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="155"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation>Versjon</translation>
|
<translation>Versjon</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="144"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="162"/>
|
||||||
<source>Console:</source>
|
<source>Console:</source>
|
||||||
<translation>Konsoll:</translation>
|
<translation>Konsoll:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="180"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="198"/>
|
||||||
<source>Start Download</source>
|
<source>Start Download</source>
|
||||||
<translation>Start Nedlasting</translation>
|
<translation>Start Nedlasting</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="193"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="211"/>
|
||||||
<source>Run Script</source>
|
<source>Run Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Kjøre Skript</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="220"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="238"/>
|
||||||
<source>General Settings</source>
|
<source>General Settings</source>
|
||||||
<translation>Generelle Instillinger</translation>
|
<translation>Generelle Instillinger</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="251"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="269"/>
|
||||||
<source>Pack installable archive (WAD/TAD)</source>
|
<source>Pack installable archive (WAD/TAD)</source>
|
||||||
<translation>Pakke installerbart arkiv (WAD/TAD)</translation>
|
<translation>Pakke installerbart arkiv (WAD/TAD)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="266"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="284"/>
|
||||||
<source>File Name</source>
|
<source>File Name</source>
|
||||||
<translation>Filnavn</translation>
|
<translation>Filnavn</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="300"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="318"/>
|
||||||
<source>Keep encrypted contents</source>
|
<source>Keep encrypted contents</source>
|
||||||
<translation>Oppbevar kryptert innhold</translation>
|
<translation>Oppbevar kryptert innhold</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="336"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="354"/>
|
||||||
<source>Create decrypted contents (*.app)</source>
|
<source>Create decrypted contents (*.app)</source>
|
||||||
<translation>Opprette dekryptert innold (*.app)</translation>
|
<translation>Opprette dekryptert innold (*.app)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="375"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="393"/>
|
||||||
<source>Use local files, if they exist</source>
|
<source>Use local files, if they exist</source>
|
||||||
<translation>Bruk lokale filer, hvis de finnes</translation>
|
<translation>Bruk lokale filer, hvis de finnes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="420"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="438"/>
|
||||||
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
||||||
<translation>Bruk Wii U NUS (raskere, påvirker bare Wii/vWii)</translation>
|
<translation>Bruk Wii U NUS (raskere, påvirker bare Wii/vWii)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="518"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="536"/>
|
||||||
<source>vWii Title Settings</source>
|
<source>vWii Title Settings</source>
|
||||||
<translation>vWii Tittelinstillinger</translation>
|
<translation>vWii Tittelinstillinger</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="552"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="570"/>
|
||||||
<source>Re-encrypt title using the Wii Common Key</source>
|
<source>Re-encrypt title using the Wii Common Key</source>
|
||||||
<translation>Krypter tittelen på nytt ved hjelp av Wii Common Key</translation>
|
<translation>Krypter tittelen på nytt ved hjelp av Wii Common Key</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="609"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="627"/>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
@@ -113,7 +122,14 @@ li.unchecked::marker { content: "\2610"; }
|
|||||||
li.checked::marker { content: "\2612"; }
|
li.checked::marker { content: "\2612"; }
|
||||||
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||||
<p style="-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:'Sans Serif'; font-size:9pt;"><br /></p></body></html></source>
|
<p style="-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:'Sans Serif'; font-size:9pt;"><br /></p></body></html></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
|
p, li { white-space: pre-wrap; }
|
||||||
|
hr { height: 1px; border-width: 0; }
|
||||||
|
li.unchecked::marker { content: "\2610"; }
|
||||||
|
li.checked::marker { content: "\2612"; }
|
||||||
|
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||||
|
<p style="-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:'Sans Serif'; font-size:9pt;"><br /></p></body></html></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
@@ -128,7 +144,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></translation>
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="97"/>
|
|
||||||
<source>NUSGet v{nusget_version}
|
<source>NUSGet v{nusget_version}
|
||||||
Developed by NinjaCheetah
|
Developed by NinjaCheetah
|
||||||
Powered by libWiiPy {libwiipy_version}
|
Powered by libWiiPy {libwiipy_version}
|
||||||
@@ -139,7 +154,7 @@ Select a title from the list on the left, or enter a Title ID to begin.
|
|||||||
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.
|
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.
|
||||||
|
|
||||||
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
||||||
<translation>NUSGet v{nusget_version}
|
<translation type="vanished">NUSGet v{nusget_version}
|
||||||
Utviklet av NinjaCheetah
|
Utviklet av NinjaCheetah
|
||||||
Drevet av libWiiPy {libwiipy_version}
|
Drevet av libWiiPy {libwiipy_version}
|
||||||
DSi støtte levert av libTWLPy {libtwlpy_version}
|
DSi støtte levert av libTWLPy {libtwlpy_version}
|
||||||
@@ -151,190 +166,219 @@ Titler merket med en hake er fri og har en billett tilgjengelig, og kan dekrypte
|
|||||||
Titler er lastes ned til en mappe med navnet "NUSGet" i nedlastingsmappen din.</translation>
|
Titler er lastes ned til en mappe med navnet "NUSGet" i nedlastingsmappen din.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="247"/>
|
<location filename="../../NUSGet.py" line="98"/>
|
||||||
|
<source>NUSGet v{nusget_version}
|
||||||
|
Developed by NinjaCheetah
|
||||||
|
Powered by libWiiPy {libwiipy_version}
|
||||||
|
DSi support provided by libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Select a title from the list on the left, or enter a Title ID to begin.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Titles will be downloaded to a folder named "NUSGet Downloads" inside your downloads folder.</source>
|
||||||
|
<translation>NUSGet v{nusget_version}
|
||||||
|
Utviklet av NinjaCheetah
|
||||||
|
Drevet av libWiiPy {libwiipy_version}
|
||||||
|
DSi støtte levert av libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Velg en tittel fra listen til venstre, eller skriv inn en Tittel ID for å begynne.
|
||||||
|
|
||||||
|
Titler merket med en hake er fri og har en billett tilgjengelig, og kan dekrypteres og/eller pakkes inn i en WAD eller TAD. Titler med en X ikke har en billett, og bare det krypterte innholdet kan lagres.
|
||||||
|
|
||||||
|
Titler er lastes ned til en mappe med navnet "NUSGet Downloads" i nedlastingsmappen din.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="286"/>
|
||||||
<source>No Output Selected</source>
|
<source>No Output Selected</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ingen Utgang Valgt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="248"/>
|
<location filename="../../NUSGet.py" line="287"/>
|
||||||
<source>You have not selected any format to output the data in!</source>
|
<source>You have not selected any format to output the data in!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Du ikke har valgt noe format å lagre dataene i!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="250"/>
|
<location filename="../../NUSGet.py" line="289"/>
|
||||||
<source>Please select at least one option for how you would like the download to be saved.</source>
|
<source>Please select at least one option for how you would like the download to be saved.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Velg minst ett valg for hvordan du vil at nedlastingen skal lagres.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="279"/>
|
<location filename="../../NUSGet.py" line="318"/>
|
||||||
<source>Invalid Title ID</source>
|
<source>Invalid Title ID</source>
|
||||||
<translation>Ugyldig Tittel ID</translation>
|
<translation>Ugyldig Tittel ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="280"/>
|
<location filename="../../NUSGet.py" line="319"/>
|
||||||
<source>The Title ID you have entered is not in a valid format!</source>
|
<source>The Title ID you have entered is not in a valid format!</source>
|
||||||
<translation>Tittel IDen du har angitt er ikke i et gyldig format!</translation>
|
<translation>Tittel IDen du har angitt er ikke i et gyldig format!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="282"/>
|
<location filename="../../NUSGet.py" line="321"/>
|
||||||
<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>
|
<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>Tittel IDer må være 16-sifrede tall og bokstav strenger. Vennligst skriv inn en korrekt formatert Tittel ID, eller velg en fra menyen til venstre.</translation>
|
<translation>Tittel IDer må være 16-sifrede tall og bokstav strenger. Vennligst skriv inn en korrekt formatert Tittel ID, eller velg en fra menyen til venstre.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="284"/>
|
<location filename="../../NUSGet.py" line="323"/>
|
||||||
<source>Title ID/Version Not Found</source>
|
<source>Title ID/Version Not Found</source>
|
||||||
<translation>Tittel ID/Versjon Ikke Funnet</translation>
|
<translation>Tittel ID/Versjon Ikke Funnet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="285"/>
|
<location filename="../../NUSGet.py" line="324"/>
|
||||||
<source>No title with the provided Title ID or version could be found!</source>
|
<source>No title with the provided Title ID or version could be found!</source>
|
||||||
<translation>Ingen tittel med oppgitt Tittel ID eller versjon ble funnet!</translation>
|
<translation>Ingen tittel med oppgitt Tittel ID eller versjon ble funnet!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="287"/>
|
<location filename="../../NUSGet.py" line="326"/>
|
||||||
<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>
|
<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>Vennligst kontroller at du har oppgitt en gyldig Tittel ID, eller valgt en fra titteldatabasen, og at den angitte versjonen finnes for tittelen du forsøker å laste ned.</translation>
|
<translation>Sjekk at du har oppgitt en gyldig Tittel ID, eller valgt en fra titteldatabasen, og at den angitte versjonen finnes for tittelen du forsøker å laste ned.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="289"/>
|
<location filename="../../NUSGet.py" line="328"/>
|
||||||
<source>Content Decryption Failed</source>
|
<source>Content Decryption Failed</source>
|
||||||
<translation>Dekryptering av Innhold Mislyktes</translation>
|
<translation>Dekryptering av Innhold Mislyktes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="290"/>
|
<location filename="../../NUSGet.py" line="329"/>
|
||||||
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
||||||
<translation>Dekryptering av innhold var ikke vellykket! Dekryptert innhold kunne ikke opprettes.</translation>
|
<translation>Dekryptering av innhold var ikke vellykket! Dekryptert innhold kunne ikke opprettes.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="293"/>
|
<location filename="../../NUSGet.py" line="332"/>
|
||||||
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
||||||
<translation>TMDen eller Billetten kan være skadet, eller det kan hende at de ikke samsvarer med innholdet some dekrypteres. Hvis du har krysset av for "Bruk lokale filer, hvis de finnes", kan du prøve å deaktivere dette alternativet før du prøver nedlastingen på nytt for å løse eventuelle problemer med lokale data.</translation>
|
<translation>TMDen eller Billetten kan være skadet, eller det kan hende at de ikke samsvarer med innholdet some dekrypteres. Hvis du har krysset av for "Bruk lokale filer, hvis de finnes", kan du prøve å deaktivere dette alternativet før du prøver nedlastingen på nytt for å løse eventuelle problemer med lokale data.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="296"/>
|
<location filename="../../NUSGet.py" line="335"/>
|
||||||
<source>Ticket Not Available</source>
|
<source>Ticket Not Available</source>
|
||||||
<translation>Billett Ikke Tilgjengelig</translation>
|
<translation>Billett Ikke Tilgjengelig</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="297"/>
|
<location filename="../../NUSGet.py" line="336"/>
|
||||||
<source>No Ticket is Available for the Requested Title!</source>
|
<source>No Ticket is Available for the Requested Title!</source>
|
||||||
<translation>Ingen billett er tilgjengelig for den forespurte tittelen!</translation>
|
<translation>Ingen billett er tilgjengelig for den forespurte tittelen!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="300"/>
|
<location filename="../../NUSGet.py" line="339"/>
|
||||||
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
||||||
<translation>En billett kunne ikke lastes ned for den forespurte tittelen, men du har valgt "Pakk installerbart arkiv" eller "Opprett dekryptert innhold". Disse alternativene er ikke tilgjenelige for titler uten billett. Bare kryptert innhold har blitt lagret.</translation>
|
<translation>En billett kunne ikke lastes ned for den forespurte tittelen, men du har valgt "Pakk installerbart arkiv" eller "Opprett dekryptert innhold". Disse alternativene er ikke tilgjenelige for titler uten billett. Bare kryptert innhold har blitt lagret.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="302"/>
|
<location filename="../../NUSGet.py" line="341"/>
|
||||||
<source>Unknown Error</source>
|
<source>Unknown Error</source>
|
||||||
<translation>Ukjent Feil</translation>
|
<translation>Ukjent Feil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="303"/>
|
<location filename="../../NUSGet.py" line="342"/>
|
||||||
<source>An Unknown Error has Occurred!</source>
|
<source>An Unknown Error has Occurred!</source>
|
||||||
<translation>En ukjent feil har oppstått!</translation>
|
<translation>En ukjent feil har oppstått!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="305"/>
|
<location filename="../../NUSGet.py" line="344"/>
|
||||||
<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>
|
<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>Vennligst prøv igjen. Hvis dette problemet vedvarer, åpne et nytt issue på GitHub med detaljer om hva du prøvde å gjøre da denne feilen oppstod.</translation>
|
<translation>Prøv igjen. Hvis dette problemet vedvarer, åpne et nytt issue på GitHub med detaljer om hva du prøvde å gjøre da denne feilen oppstod.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="326"/>
|
<location filename="../../NUSGet.py" line="363"/>
|
||||||
<source>Script Issues Occurred</source>
|
<source>Script Issues Occurred</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Skriptfeil Oppstod</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="327"/>
|
<location filename="../../NUSGet.py" line="364"/>
|
||||||
<source>Some issues occurred while running the download script.</source>
|
<source>Some issues occurred while running the download script.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Noen feil oppstod under kjøring av nedlastingsskriptet.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="329"/>
|
<location filename="../../NUSGet.py" line="366"/>
|
||||||
<source>Check the log for more details about what issues were encountered.</source>
|
<source>Check the log for more details about what issues were encountered.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Sjekk loggen for mer informasjon om feilene som har oppstått.</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="336"/>
|
|
||||||
<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 type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="346"/>
|
|
||||||
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="373"/>
|
<location filename="../../NUSGet.py" line="373"/>
|
||||||
|
<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>Følgende titler kunne ikke lastes ned på grunn av en feil. Sjekk at Tittel IDen og versjon som er oppført i skriptet er gyldige.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="383"/>
|
||||||
|
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
||||||
|
<translation>Du aktiverte "Opprett dekryptert innhold" eller "Pakk installerbart archive", men følgende titler i skriptet har ikke tilgjengelige billetter. Hvis aktivert, ble kryptert innhold fortsatt lastet ned.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="402"/>
|
||||||
<source>Script Download Failed</source>
|
<source>Script Download Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Skriptnedlasting Mislyktes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="374"/>
|
<location filename="../../NUSGet.py" line="403"/>
|
||||||
<source>Open NUS Script</source>
|
<source>Open NUS Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Åpne NUS Skript</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="375"/>
|
<location filename="../../NUSGet.py" line="404"/>
|
||||||
<source>NUS Scripts (*.nus *.json)</source>
|
<source>NUS Scripts (*.nus *.json)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>NUS Skript (*.nus *.json)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="385"/>
|
<location filename="../../NUSGet.py" line="414"/>
|
||||||
<source>An error occurred while parsing the script file!</source>
|
<source>An error occurred while parsing the script file!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Det oppstod en feil under parsing av skriptfilen!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="386"/>
|
<location filename="../../NUSGet.py" line="415"/>
|
||||||
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="395"/>
|
<location filename="../../NUSGet.py" line="424"/>
|
||||||
<source>An error occurred while parsing Title IDs!</source>
|
<source>An error occurred while parsing Title IDs!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Det oppstod en feil under parsing av Tittel IDer!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="396"/>
|
<location filename="../../NUSGet.py" line="425"/>
|
||||||
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Tittelen ved indeks {script_data.index(title)} har ikke en Tittel ID!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="462"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="480"/>
|
||||||
<source>Apply patches to IOS (Applies to WADs only)</source>
|
<source>Apply patches to IOS (Applies to WADs only)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Påfør patcher på IOS (gjelder kun WADer)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="155"/>
|
<location filename="../../NUSGet.py" line="192"/>
|
||||||
<source>NUSGet Update Available</source>
|
<source>NUSGet Update Available</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>NUSGet Oppdatering Tilgjengelig</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="156"/>
|
<location filename="../../NUSGet.py" line="193"/>
|
||||||
<source>There's a newer version of NUSGet available!</source>
|
<source>There's a newer version of NUSGet available!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Det finnes en nyere versjon av NUSGet tilgjengelig!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="43"/>
|
<location filename="../../modules/core.py" line="52"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Could not check for updates.</source>
|
Could not check for updates.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>
|
||||||
|
|
||||||
|
Kunne ikke sjekke for oppdateringer.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="51"/>
|
<location filename="../../modules/core.py" line="60"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
There's a newer version of NUSGet available!</source>
|
There's a newer version of NUSGet available!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>
|
||||||
|
|
||||||
|
Det finnes en nyere versjon av NUSGet tilgjengelig!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="53"/>
|
<location filename="../../modules/core.py" line="62"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
You're running the latest release of NUSGet.</source>
|
You're running the latest release of NUSGet.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>
|
||||||
|
|
||||||
|
Du kjører den nyeste versjonen av NUSGet.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="97"/>
|
|
||||||
<source>NUSGet v{nusget_version}
|
<source>NUSGet v{nusget_version}
|
||||||
Developed by NinjaCheetah
|
Developed by NinjaCheetah
|
||||||
Powered by libWiiPy {libwiipy_version}
|
Powered by libWiiPy {libwiipy_version}
|
||||||
@@ -15,7 +14,7 @@ Select a title from the list on the left, or enter a Title ID to begin.
|
|||||||
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.
|
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.
|
||||||
|
|
||||||
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
Titles will be downloaded to a folder named "NUSGet" inside your downloads folder.</source>
|
||||||
<translation type="unfinished">NUSGet v{nusget_version}
|
<translation type="vanished">NUSGet v{nusget_version}
|
||||||
Dezvoltat de NinjaCheetah
|
Dezvoltat de NinjaCheetah
|
||||||
Operat de libWiiPy {libwiipy_version}
|
Operat de libWiiPy {libwiipy_version}
|
||||||
Suport pentru DSi oferit de libTWLPy {libtwlpy_version}
|
Suport pentru DSi oferit de libTWLPy {libtwlpy_version}
|
||||||
@@ -27,164 +26,187 @@ Titlurile marcate cu bifă sunt gratuite și au un tichet disponibil și pot fi
|
|||||||
Titlurile vor fi descărcate într-un folder numit „NUSGet” în fișierul dvs. de download.</translation>
|
Titlurile vor fi descărcate într-un folder numit „NUSGet” în fișierul dvs. de download.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="155"/>
|
<location filename="../../NUSGet.py" line="98"/>
|
||||||
|
<source>NUSGet v{nusget_version}
|
||||||
|
Developed by NinjaCheetah
|
||||||
|
Powered by libWiiPy {libwiipy_version}
|
||||||
|
DSi support provided by libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Select a title from the list on the left, or enter a Title ID to begin.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Titles will be downloaded to a folder named "NUSGet Downloads" inside your downloads folder.</source>
|
||||||
|
<translation>NUSGet v{nusget_version}
|
||||||
|
Dezvoltat de NinjaCheetah
|
||||||
|
Operat de libWiiPy {libwiipy_version}
|
||||||
|
Suport pentru DSi oferit de libTWLPy {libtwlpy_version}
|
||||||
|
|
||||||
|
Selectează un titlu din lista din stânga, sau introdu un Title ID pentru a începe.
|
||||||
|
|
||||||
|
Titlurile marcate cu bifă sunt gratuite și au un tichet disponibil și pot fi decriptate și/sau incluse într-un WAD sau TAD. Titlurile cu un X nu au tichet, și pot fi salvate doar în formă encriptată.
|
||||||
|
|
||||||
|
Titlurile vor fi descărcate într-un folder numit „NUSGet Downloads” în fișierul dvs. de download.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="192"/>
|
||||||
<source>NUSGet Update Available</source>
|
<source>NUSGet Update Available</source>
|
||||||
<translation type="unfinished">Actualizare NUSGet disponibilă</translation>
|
<translation>Actualizare NUSGet disponibilă</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="156"/>
|
<location filename="../../NUSGet.py" line="193"/>
|
||||||
<source>There's a newer version of NUSGet available!</source>
|
<source>There's a newer version of NUSGet available!</source>
|
||||||
<translation type="unfinished">O nouă versiune NUSGet este disponibilă!</translation>
|
<translation>O nouă versiune NUSGet este disponibilă!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="247"/>
|
<location filename="../../NUSGet.py" line="286"/>
|
||||||
<source>No Output Selected</source>
|
<source>No Output Selected</source>
|
||||||
<translation type="unfinished">Nu s-a selectat un output.</translation>
|
<translation>Nu s-a selectat un output</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="248"/>
|
|
||||||
<source>You have not selected any format to output the data in!</source>
|
|
||||||
<translation type="unfinished">Nu ați selectat niciun format de ieșire.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="250"/>
|
|
||||||
<source>Please select at least one option for how you would like the download to be saved.</source>
|
|
||||||
<translation type="unfinished">Vă rugăm să selectați cel puțin o opțiune pentru modul în care doriți să salvați datele descărcate.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="279"/>
|
|
||||||
<source>Invalid Title ID</source>
|
|
||||||
<translation type="unfinished">Title ID invalid</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="280"/>
|
|
||||||
<source>The Title ID you have entered is not in a valid format!</source>
|
|
||||||
<translation type="unfinished">Title ID pe care l-ați introdus este invalid!</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="282"/>
|
|
||||||
<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 type="unfinished">Title ID-urile trebuie să conțină exact 16 cifre și/sau litere. Vă rugăm introduceți un Title ID corect, sau selectați unul din meniul din stânga.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="284"/>
|
|
||||||
<source>Title ID/Version Not Found</source>
|
|
||||||
<translation type="unfinished">Title ID/Versiunea nu a fost găsită</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="285"/>
|
|
||||||
<source>No title with the provided Title ID or version could be found!</source>
|
|
||||||
<translation type="unfinished">Niciun titlu care să corespundă cu Title ID sau cu versiunea introdusă nu a fost găsit!</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="287"/>
|
<location filename="../../NUSGet.py" line="287"/>
|
||||||
<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>
|
<source>You have not selected any format to output the data in!</source>
|
||||||
<translation type="unfinished">Vă rugăm să vă asigurați că ați introdus un Title ID valid sau selectat din baza de date cu titluri, și că versiunea introdusă există pentru titlul pe care încercați să îl descărcați.</translation>
|
<translation>Nu ați selectat niciun format de ieșire!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="289"/>
|
<location filename="../../NUSGet.py" line="289"/>
|
||||||
<source>Content Decryption Failed</source>
|
<source>Please select at least one option for how you would like the download to be saved.</source>
|
||||||
<translation type="unfinished">Decriptarea conținutului a eșuat.</translation>
|
<translation>Vă rugăm să selectați cel puțin o opțiune pentru modul în care doriți să salvați datele descărcate.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="290"/>
|
<location filename="../../NUSGet.py" line="318"/>
|
||||||
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
<source>Invalid Title ID</source>
|
||||||
<translation type="unfinished">Decriptarea conținutului nu a reușit. Nu s-a putut crea conținutul decriptat.</translation>
|
<translation>Title ID invalid</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="293"/>
|
<location filename="../../NUSGet.py" line="319"/>
|
||||||
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
<source>The Title ID you have entered is not in a valid format!</source>
|
||||||
<translation type="unfinished">TMD-ul sau Ticket-ul dvs. sunt corupte, sau nu corespund cu conținutul de decriptat. Dacă ați bifat „Folosiți fișiere locale, dacă există”, încercați să debifați această opțiune înainte de a descărca din nou pentru a rezolva potențiale probleme cu datele existente local.</translation>
|
<translation>Title ID pe care l-ați introdus este invalid!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="296"/>
|
<location filename="../../NUSGet.py" line="321"/>
|
||||||
<source>Ticket Not Available</source>
|
<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 type="unfinished">Ticket-ul nu este valabil</translation>
|
<translation>Title ID-urile trebuie să conțină exact 16 cifre și/sau litere. Vă rugăm introduceți un Title ID corect, sau selectați unul din meniul din stânga.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="297"/>
|
<location filename="../../NUSGet.py" line="323"/>
|
||||||
<source>No Ticket is Available for the Requested Title!</source>
|
<source>Title ID/Version Not Found</source>
|
||||||
<translation type="unfinished">Niciun Ticket nu este valabil pentru titlul dorit.</translation>
|
<translation>Title ID/Versiunea nu a fost găsită</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="300"/>
|
<location filename="../../NUSGet.py" line="324"/>
|
||||||
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
<source>No title with the provided Title ID or version could be found!</source>
|
||||||
<translation type="unfinished">Nu se poate descărca un tichet pentru titlul cerut, dar ați selectat „Împachetați arhiva instalabilă” sau „Creați conținut decriptat”. Aceste opțiuni nu sunt valabile pentru titluri fărătichet. Doar conținuturile criptate au fost salvate.</translation>
|
<translation>Niciun titlu care să corespundă cu Title ID-ul sau cu versiunea introdusă nu a fost găsit!</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="302"/>
|
|
||||||
<source>Unknown Error</source>
|
|
||||||
<translation type="unfinished">Eroare necunoscută</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="303"/>
|
|
||||||
<source>An Unknown Error has Occurred!</source>
|
|
||||||
<translation type="unfinished">S-a produs o eroare necunoscută!</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../NUSGet.py" line="305"/>
|
|
||||||
<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 type="unfinished">Vă rugăm încercați din nou. Dacă problema persistă, vă rugăm să deschideți un issue pe GitHub în care să explicați ce ați încercat să faceți atunci când această eroare a apărut.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="326"/>
|
<location filename="../../NUSGet.py" line="326"/>
|
||||||
<source>Script Issues Occurred</source>
|
<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 type="unfinished"></translation>
|
<translation>Vă rugăm să vă asigurați că ați introdus un Title ID valid sau ați selectat unul din baza de date cu titluri, și că versiunea introdusă există pentru titlul pe care încercați să îl descărcați.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="327"/>
|
<location filename="../../NUSGet.py" line="328"/>
|
||||||
<source>Some issues occurred while running the download script.</source>
|
<source>Content Decryption Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Decriptarea conținutului a eșuat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="329"/>
|
<location filename="../../NUSGet.py" line="329"/>
|
||||||
<source>Check the log for more details about what issues were encountered.</source>
|
<source>Content decryption was not successful! Decrypted contents could not be created.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Decriptarea conținutului nu a reușit. Nu s-a putut crea conținutul decriptat.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="332"/>
|
||||||
|
<source>Your TMD or Ticket may be damaged, or they may not correspond with the content being decrypted. If you have checked "Use local files, if they exist", try disabling that option before trying the download again to fix potential issues with local data.</source>
|
||||||
|
<translation>TMD-ul sau Ticket-ul dvs. sunt corupte, sau nu corespund cu conținutul de decriptat. Dacă ați bifat „Folosiți fișiere locale, dacă există”, încercați să debifați această opțiune înainte de a descărca din nou pentru a rezolva potențiale probleme cu datele existente local.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="335"/>
|
||||||
|
<source>Ticket Not Available</source>
|
||||||
|
<translation>Ticket-ul nu este valabil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="336"/>
|
<location filename="../../NUSGet.py" line="336"/>
|
||||||
<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>
|
<source>No Ticket is Available for the Requested Title!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Niciun Ticket nu este valabil pentru titlul dorit!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="346"/>
|
<location filename="../../NUSGet.py" line="339"/>
|
||||||
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
<source>A ticket could not be downloaded for the requested title, but you have selected "Pack installable archive" or "Create decrypted contents". These options are not available for titles without a ticket. Only encrypted contents have been saved.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Nu se poate descărca un tichet pentru titlul cerut, dar ați selectat „Împachetați arhiva instalabilă” sau „Creați conținut decriptat”. Aceste opțiuni nu sunt valabile pentru titluri fărătichet. Doar conținuturile criptate au fost salvate.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="341"/>
|
||||||
|
<source>Unknown Error</source>
|
||||||
|
<translation>Eroare necunoscută</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="342"/>
|
||||||
|
<source>An Unknown Error has Occurred!</source>
|
||||||
|
<translation>S-a produs o eroare necunoscută!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="344"/>
|
||||||
|
<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>Vă rugăm încercați din nou. Dacă problema persistă, vă rugăm să deschideți un issue pe GitHub în care să explicați ce ați încercat să faceți atunci când această eroare a apărut.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="363"/>
|
||||||
|
<source>Script Issues Occurred</source>
|
||||||
|
<translation>Au apărut probleme cu scriptul</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="364"/>
|
||||||
|
<source>Some issues occurred while running the download script.</source>
|
||||||
|
<translation>Au apărut câteva probleme la rularea scriptului descărcat.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="366"/>
|
||||||
|
<source>Check the log for more details about what issues were encountered.</source>
|
||||||
|
<translation>Verificați logurile pentru mai multe detalii despre problemele întâmpinate.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="373"/>
|
<location filename="../../NUSGet.py" line="373"/>
|
||||||
|
<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>Următoarele titluri nu au putut fi descărcate din cauza unei erori. Vă rugăm să vă asigurați că Title ID și versiunea listate în script sunt valide.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="383"/>
|
||||||
|
<source>You enabled "Create decrypted contents" or "Pack installable archive", but the following titles in the script do not have tickets available. If enabled, encrypted contents were still downloaded.</source>
|
||||||
|
<translation>Ați activat „Creare conținut decriptat” sau „Împachetați arhiva instalabilă”, dar următoarele titluri în script nu au tichete valabile.În acest caz, conținuturile encriptate au fost oricum descărcate.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../NUSGet.py" line="402"/>
|
||||||
<source>Script Download Failed</source>
|
<source>Script Download Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Descărcarea scriptului a eșuat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="374"/>
|
<location filename="../../NUSGet.py" line="403"/>
|
||||||
<source>Open NUS Script</source>
|
<source>Open NUS Script</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Deschideți script NUS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="375"/>
|
<location filename="../../NUSGet.py" line="404"/>
|
||||||
<source>NUS Scripts (*.nus *.json)</source>
|
<source>NUS Scripts (*.nus *.json)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Scripturi NUS (*.nus *.json)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="385"/>
|
<location filename="../../NUSGet.py" line="414"/>
|
||||||
<source>An error occurred while parsing the script file!</source>
|
<source>An error occurred while parsing the script file!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>A apărut o eroare la parssarea acestui fișier script!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="386"/>
|
<location filename="../../NUSGet.py" line="415"/>
|
||||||
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
<source>Error encountered at line {e.lineno}, column {e.colno}. Please double-check the script and try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>S-a produs o eroare la linia {e.lineno}, coloana {e.colno}. Vă rugăm verificați scriptul și încercați din nou.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="395"/>
|
<location filename="../../NUSGet.py" line="424"/>
|
||||||
<source>An error occurred while parsing Title IDs!</source>
|
<source>An error occurred while parsing Title IDs!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>A apărut o eroare la procesarea Title ID-urilor!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../NUSGet.py" line="396"/>
|
<location filename="../../NUSGet.py" line="425"/>
|
||||||
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
<source>The title at index {script_data.index(title)} does not have a Title ID!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Titlul la poziția {script_data.index(title)} nu are un Title ID!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open NUS script</source>
|
<source>Open NUS script</source>
|
||||||
@@ -201,110 +223,119 @@ Titlurile vor fi descărcate într-un folder numit „NUSGet” în fișierul dv
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="26"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="26"/>
|
||||||
<source>MainWindow</source>
|
<source>MainWindow</source>
|
||||||
<translation type="unfinished">Fereastra principală</translation>
|
<translation>Fereastra principală</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="43"/>
|
|
||||||
<source>Available Titles</source>
|
<source>Available Titles</source>
|
||||||
<translation type="unfinished">Titluri valabile</translation>
|
<translation type="obsolete">Titluri valabile</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="72"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="46"/>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation>Căutați</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="59"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation>Goliți câmpul</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../qt/ui/MainMenu.ui" line="90"/>
|
||||||
<source>Wii</source>
|
<source>Wii</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Wii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="82"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="100"/>
|
||||||
<source>vWii</source>
|
<source>vWii</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>vWii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="92"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="110"/>
|
||||||
<source>DSi</source>
|
<source>DSi</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>DSi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="117"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="135"/>
|
||||||
<source>Title ID</source>
|
<source>Title ID</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Title ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="124"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="142"/>
|
||||||
<source>v</source>
|
<source>v</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>v</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="137"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="155"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished">Versiune</translation>
|
<translation>Versiune</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="144"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="162"/>
|
||||||
<source>Console:</source>
|
<source>Console:</source>
|
||||||
<translation type="unfinished">Consolă</translation>
|
<translation>Consolă:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="180"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="198"/>
|
||||||
<source>Start Download</source>
|
<source>Start Download</source>
|
||||||
<translation type="unfinished">Începeți descărcarea</translation>
|
<translation>Începeți descărcarea</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="193"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="211"/>
|
||||||
<source>Run Script</source>
|
<source>Run Script</source>
|
||||||
<translation type="unfinished">Rulați script</translation>
|
<translation>Rulați script</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="220"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="238"/>
|
||||||
<source>General Settings</source>
|
<source>General Settings</source>
|
||||||
<translation type="unfinished">Setări Generale</translation>
|
<translation>Setări Generale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="251"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="269"/>
|
||||||
<source>Pack installable archive (WAD/TAD)</source>
|
<source>Pack installable archive (WAD/TAD)</source>
|
||||||
<translation type="unfinished">Împachetați arhiva instalabilă (WAD/TAD)</translation>
|
<translation>Împachetați arhiva instalabilă (WAD/TAD)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="266"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="284"/>
|
||||||
<source>File Name</source>
|
<source>File Name</source>
|
||||||
<translation type="unfinished">Nume fișier</translation>
|
<translation>Nume fișier</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="300"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="318"/>
|
||||||
<source>Keep encrypted contents</source>
|
<source>Keep encrypted contents</source>
|
||||||
<translation type="unfinished">Păstrați conținuturile encriptate</translation>
|
<translation>Păstrați conținuturile encriptate</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="336"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="354"/>
|
||||||
<source>Create decrypted contents (*.app)</source>
|
<source>Create decrypted contents (*.app)</source>
|
||||||
<translation type="unfinished">Creați conținuturi decriptate (*.app)</translation>
|
<translation>Creați conținuturi decriptate (*.app)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="375"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="393"/>
|
||||||
<source>Use local files, if they exist</source>
|
<source>Use local files, if they exist</source>
|
||||||
<translation type="unfinished">Folosiți fișiere locale, dacă există</translation>
|
<translation>Folosiți fișiere locale, dacă există</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="420"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="438"/>
|
||||||
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
<source>Use the Wii U NUS (faster, only effects Wii/vWii)</source>
|
||||||
<translation type="unfinished">Folosiți Wii U NUS (mai rapid, doar pentru Wii/vWii)</translation>
|
<translation>Folosiți Wii U NUS (mai rapid, doar pentru Wii/vWii)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="462"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="480"/>
|
||||||
<source>Apply patches to IOS (Applies to WADs only)</source>
|
<source>Apply patches to IOS (Applies to WADs only)</source>
|
||||||
<translation type="unfinished">Aplicați patch-uri pentru IOS (se aplică doar pe WAD-uri)</translation>
|
<translation>Aplicați patch-uri pentru IOS (se aplică doar pentru WAD-uri)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="518"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="536"/>
|
||||||
<source>vWii Title Settings</source>
|
<source>vWii Title Settings</source>
|
||||||
<translation type="unfinished">vWII Setări titlu</translation>
|
<translation>vWII Setări titlu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="552"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="570"/>
|
||||||
<source>Re-encrypt title using the Wii Common Key</source>
|
<source>Re-encrypt title using the Wii Common Key</source>
|
||||||
<translation type="unfinished">Re-encriptați titlul folosind cheia comună Wii</translation>
|
<translation>Re-encriptați titlul folosind cheia comună Wii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../qt/ui/MainMenu.ui" line="609"/>
|
<location filename="../../qt/ui/MainMenu.ui" line="627"/>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
@@ -313,28 +344,34 @@ li.unchecked::marker { content: "\2610"; }
|
|||||||
li.checked::marker { content: "\2612"; }
|
li.checked::marker { content: "\2612"; }
|
||||||
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||||
<p style="-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:'Sans Serif'; font-size:9pt;"><br /></p></body></html></source>
|
<p style="-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:'Sans Serif'; font-size:9pt;"><br /></p></body></html></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="43"/>
|
<location filename="../../modules/core.py" line="52"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Could not check for updates.</source>
|
Could not check for updates.</source>
|
||||||
<translation type="unfinished">Nu s-a putut verifica dacă există actualizări.</translation>
|
<translation>
|
||||||
|
|
||||||
|
Nu s-a putut verifica dacă există actualizări.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="51"/>
|
<location filename="../../modules/core.py" line="60"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
There's a newer version of NUSGet available!</source>
|
There's a newer version of NUSGet available!</source>
|
||||||
<translation type="unfinished">O nouă versiune de NUSGet este valabilă!</translation>
|
<translation>
|
||||||
|
|
||||||
|
O nouă versiune de NUSGet este valabilă!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../modules/core.py" line="53"/>
|
<location filename="../../modules/core.py" line="62"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
You're running the latest release of NUSGet.</source>
|
You're running the latest release of NUSGet.</source>
|
||||||
<translation type="unfinished">Utilizați ultima versiune de NUSGet.</translation>
|
<translation>
|
||||||
|
|
||||||
|
Utilizați ultima versiune de NUSGet.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# "update_translations.py", licensed under the MIT license
|
# "update_translations.py", licensed under the MIT license
|
||||||
# Copyright 2024 NinjaCheetah
|
# Copyright 2024-2025 NinjaCheetah
|
||||||
# This script exists to work around an issue in PySide6 where the "pyside6-project lupdate" command doesn't work as
|
# This script exists to work around an issue in PySide6 where the "pyside6-project lupdate" command doesn't work as
|
||||||
# expected, as it struggles to parse the paths in the .pyproject file. This does what it's meant to do for it.
|
# expected, as it struggles to parse the paths in the .pyproject file. This does what it's meant to do for it.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user