Work in progress language selection support

Still need to add a popup telling you that NUSGet needs to be restarted after changing the language, and having it load the selected language in the selection menu so that it's checked on launch.
This commit is contained in:
2025-05-26 21:50:04 -04:00
parent e8d6a19d03
commit db6dc65791
8 changed files with 303 additions and 71 deletions

View File

@@ -31,15 +31,43 @@ class Ui_MainWindow(object):
MainWindow.resize(1010, 675)
MainWindow.setMinimumSize(QSize(1010, 675))
MainWindow.setMaximumSize(QSize(1010, 675))
self.actionAbout = QAction(MainWindow)
self.actionAbout.setObjectName(u"actionAbout")
self.action_about = QAction(MainWindow)
self.action_about.setObjectName(u"action_about")
icon = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.HelpAbout))
self.actionAbout.setIcon(icon)
self.actionAbout.setMenuRole(QAction.MenuRole.ApplicationSpecificRole)
self.actionAbout_Qt = QAction(MainWindow)
self.actionAbout_Qt.setObjectName(u"actionAbout_Qt")
self.actionAbout_Qt.setIcon(icon)
self.actionAbout_Qt.setMenuRole(QAction.MenuRole.ApplicationSpecificRole)
self.action_about.setIcon(icon)
self.action_about.setMenuRole(QAction.MenuRole.ApplicationSpecificRole)
self.action_about_qt = QAction(MainWindow)
self.action_about_qt.setObjectName(u"action_about_qt")
self.action_about_qt.setIcon(icon)
self.action_about_qt.setMenuRole(QAction.MenuRole.ApplicationSpecificRole)
self.action_language_system = QAction(MainWindow)
self.action_language_system.setObjectName(u"action_language_system")
self.action_language_system.setCheckable(True)
self.action_language_system.setChecked(False)
self.action_language_english = QAction(MainWindow)
self.action_language_english.setObjectName(u"action_language_english")
self.action_language_english.setCheckable(True)
self.action_language_spanish = QAction(MainWindow)
self.action_language_spanish.setObjectName(u"action_language_spanish")
self.action_language_spanish.setCheckable(True)
self.action_language_german = QAction(MainWindow)
self.action_language_german.setObjectName(u"action_language_german")
self.action_language_german.setCheckable(True)
self.action_language_french = QAction(MainWindow)
self.action_language_french.setObjectName(u"action_language_french")
self.action_language_french.setCheckable(True)
self.action_language_italian = QAction(MainWindow)
self.action_language_italian.setObjectName(u"action_language_italian")
self.action_language_italian.setCheckable(True)
self.action_language_norwegian = QAction(MainWindow)
self.action_language_norwegian.setObjectName(u"action_language_norwegian")
self.action_language_norwegian.setCheckable(True)
self.action_language_romanian = QAction(MainWindow)
self.action_language_romanian.setObjectName(u"action_language_romanian")
self.action_language_romanian.setCheckable(True)
self.action_language_korean = QAction(MainWindow)
self.action_language_korean.setObjectName(u"action_language_korean")
self.action_language_korean.setCheckable(True)
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget")
self.horizontalLayout_3 = QHBoxLayout(self.centralwidget)
@@ -327,14 +355,29 @@ class Ui_MainWindow(object):
self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u"menubar")
self.menubar.setGeometry(QRect(0, 0, 1010, 30))
self.menuHelp = QMenu(self.menubar)
self.menuHelp.setObjectName(u"menuHelp")
self.menu_help = QMenu(self.menubar)
self.menu_help.setObjectName(u"menu_help")
self.menu_options = QMenu(self.menubar)
self.menu_options.setObjectName(u"menu_options")
self.menu_options_language = QMenu(self.menu_options)
self.menu_options_language.setObjectName(u"menu_options_language")
MainWindow.setMenuBar(self.menubar)
self.menubar.addAction(self.menuHelp.menuAction())
self.menuHelp.addAction(self.actionAbout)
self.menuHelp.addAction(self.actionAbout_Qt)
self.menuHelp.addSeparator()
self.menubar.addAction(self.menu_options.menuAction())
self.menubar.addAction(self.menu_help.menuAction())
self.menu_help.addAction(self.action_about)
self.menu_help.addAction(self.action_about_qt)
self.menu_help.addSeparator()
self.menu_options.addAction(self.menu_options_language.menuAction())
self.menu_options_language.addAction(self.action_language_system)
self.menu_options_language.addAction(self.action_language_english)
self.menu_options_language.addAction(self.action_language_spanish)
self.menu_options_language.addAction(self.action_language_german)
self.menu_options_language.addAction(self.action_language_french)
self.menu_options_language.addAction(self.action_language_italian)
self.menu_options_language.addAction(self.action_language_norwegian)
self.menu_options_language.addAction(self.action_language_romanian)
self.menu_options_language.addAction(self.action_language_korean)
self.retranslateUi(MainWindow)
@@ -347,8 +390,17 @@ class Ui_MainWindow(object):
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))
self.actionAbout.setText(QCoreApplication.translate("MainWindow", u"About NUSGet", None))
self.actionAbout_Qt.setText(QCoreApplication.translate("MainWindow", u"About Qt", None))
self.action_about.setText(QCoreApplication.translate("MainWindow", u"About NUSGet", None))
self.action_about_qt.setText(QCoreApplication.translate("MainWindow", u"About Qt", None))
self.action_language_system.setText(QCoreApplication.translate("MainWindow", u"System (Default)", None))
self.action_language_english.setText(QCoreApplication.translate("MainWindow", u"English", None))
self.action_language_spanish.setText(QCoreApplication.translate("MainWindow", u"Espa\u00f1ol", None))
self.action_language_german.setText(QCoreApplication.translate("MainWindow", u"Deutsch", None))
self.action_language_french.setText(QCoreApplication.translate("MainWindow", u"Fran\u00e7ais", None))
self.action_language_italian.setText(QCoreApplication.translate("MainWindow", u"Italiano", None))
self.action_language_norwegian.setText(QCoreApplication.translate("MainWindow", u"Norsk", None))
self.action_language_romanian.setText(QCoreApplication.translate("MainWindow", u"Rom\u00e2n\u0103", None))
self.action_language_korean.setText(QCoreApplication.translate("MainWindow", u"\ud55c\uad6d\uc5b4", 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))
@@ -377,6 +429,8 @@ class Ui_MainWindow(object):
"li.checked::marker { content: \"\\2612\"; }\n"
"</style></head><body style=\" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
"<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>", None))
self.menuHelp.setTitle(QCoreApplication.translate("MainWindow", u"Help", None))
self.menu_help.setTitle(QCoreApplication.translate("MainWindow", u"Help", None))
self.menu_options.setTitle(QCoreApplication.translate("MainWindow", u"Options", None))
self.menu_options_language.setTitle(QCoreApplication.translate("MainWindow", u"Language", None))
# retranslateUi

View File

@@ -472,17 +472,38 @@ li.checked::marker { content: &quot;\2612&quot;; }
<height>30</height>
</rect>
</property>
<widget class="QMenu" name="menuHelp">
<widget class="QMenu" name="menu_help">
<property name="title">
<string>Help</string>
</property>
<addaction name="actionAbout"/>
<addaction name="actionAbout_Qt"/>
<addaction name="action_about"/>
<addaction name="action_about_qt"/>
<addaction name="separator"/>
</widget>
<addaction name="menuHelp"/>
<widget class="QMenu" name="menu_options">
<property name="title">
<string>Options</string>
</property>
<widget class="QMenu" name="menu_options_language">
<property name="title">
<string>Language</string>
</property>
<addaction name="action_language_system"/>
<addaction name="action_language_english"/>
<addaction name="action_language_spanish"/>
<addaction name="action_language_german"/>
<addaction name="action_language_french"/>
<addaction name="action_language_italian"/>
<addaction name="action_language_norwegian"/>
<addaction name="action_language_romanian"/>
<addaction name="action_language_korean"/>
</widget>
<addaction name="menu_options_language"/>
</widget>
<addaction name="menu_options"/>
<addaction name="menu_help"/>
</widget>
<action name="actionAbout">
<action name="action_about">
<property name="icon">
<iconset theme="QIcon::ThemeIcon::HelpAbout"/>
</property>
@@ -493,7 +514,7 @@ li.checked::marker { content: &quot;\2612&quot;; }
<enum>QAction::MenuRole::ApplicationSpecificRole</enum>
</property>
</action>
<action name="actionAbout_Qt">
<action name="action_about_qt">
<property name="icon">
<iconset theme="QIcon::ThemeIcon::HelpAbout"/>
</property>
@@ -504,6 +525,81 @@ li.checked::marker { content: &quot;\2612&quot;; }
<enum>QAction::MenuRole::ApplicationSpecificRole</enum>
</property>
</action>
<action name="action_language_system">
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<property name="text">
<string>System (Default)</string>
</property>
</action>
<action name="action_language_english">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>English</string>
</property>
</action>
<action name="action_language_spanish">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Español</string>
</property>
</action>
<action name="action_language_german">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Deutsch</string>
</property>
</action>
<action name="action_language_french">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Français</string>
</property>
</action>
<action name="action_language_italian">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Italiano</string>
</property>
</action>
<action name="action_language_norwegian">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Norsk</string>
</property>
</action>
<action name="action_language_romanian">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Română</string>
</property>
</action>
<action name="action_language_korean">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>한국어</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>