diff --git a/ui/designer/components/scoreEditor.ui b/ui/designer/components/scoreEditor.ui index d439e61..b10cb65 100644 --- a/ui/designer/components/scoreEditor.ui +++ b/ui/designer/components/scoreEditor.ui @@ -191,7 +191,7 @@ - yyyy/M/d HH:mm:ss + yyyy/MM/dd HH:mm:ss false @@ -322,7 +322,7 @@ - ID + ID Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter diff --git a/ui/designer/components/scoreEditor_ui.py b/ui/designer/components/scoreEditor_ui.py index e3e0787..c0662a4 100644 --- a/ui/designer/components/scoreEditor_ui.py +++ b/ui/designer/components/scoreEditor_ui.py @@ -140,6 +140,7 @@ class Ui_ScoreEditor(object): sizePolicy1.setVerticalStretch(0) sizePolicy1.setHeightForWidth(self.dateTimeEdit.sizePolicy().hasHeightForWidth()) self.dateTimeEdit.setSizePolicy(sizePolicy1) + self.dateTimeEdit.setDisplayFormat(u"yyyy/MM/dd HH:mm:ss") self.dateTimeEdit.setCalendarPopup(False) self.gridLayout.addWidget(self.dateTimeEdit, 5, 1, 1, 1) @@ -223,6 +224,7 @@ class Ui_ScoreEditor(object): self.label_10 = QLabel(ScoreEditor) self.label_10.setObjectName(u"label_10") + self.label_10.setText(u"ID") self.label_10.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.gridLayout.addWidget(self.label_10, 0, 0, 1, 1) @@ -267,7 +269,6 @@ class Ui_ScoreEditor(object): self.pureNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None)) self.clearTypeNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None)) self.dateNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None)) - self.dateTimeEdit.setDisplayFormat(QCoreApplication.translate("ScoreEditor", u"yyyy/M/d HH:mm:ss", None)) self.lostNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None)) self.modifierNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None)) self.commentNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None)) @@ -277,7 +278,6 @@ class Ui_ScoreEditor(object): self.label_9.setText(QCoreApplication.translate("ScoreEditor", u"formLabel.comment", None)) self.label.setText(QCoreApplication.translate("ScoreEditor", u"formLabel.score", None)) self.farNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None)) - self.label_10.setText(QCoreApplication.translate("ScoreEditor", u"ID", None)) self.idLabel.setText(QCoreApplication.translate("ScoreEditor", u"idAutoInsert", None)) pass # retranslateUi diff --git a/ui/designer/tabs/tabTools/tabTools_InfoLookup.ui b/ui/designer/tabs/tabTools/tabTools_InfoLookup.ui index dad4438..a62c117 100644 --- a/ui/designer/tabs/tabTools/tabTools_InfoLookup.ui +++ b/ui/designer/tabs/tabTools/tabTools_InfoLookup.ui @@ -256,7 +256,7 @@ QLabel { color: gray; } - song.date&version + song.addedIn Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -278,7 +278,7 @@ - + ... @@ -440,7 +440,7 @@ QLabel { color: gray; } - difficulty.date&version + difficulty.addedIn Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -608,7 +608,7 @@ - + ... diff --git a/ui/designer/tabs/tabTools/tabTools_InfoLookup_ui.py b/ui/designer/tabs/tabTools/tabTools_InfoLookup_ui.py index 42d5c27..cf63b62 100644 --- a/ui/designer/tabs/tabTools/tabTools_InfoLookup_ui.py +++ b/ui/designer/tabs/tabTools/tabTools_InfoLookup_ui.py @@ -216,11 +216,11 @@ class Ui_TabTools_InfoLookup(object): self.gridLayout.addWidget(self.songIdLabel, 0, 1, 1, 1) - self.songDateVersionLabel = QLabel(self.songInfoGroupBox) - self.songDateVersionLabel.setObjectName(u"songDateVersionLabel") - self.songDateVersionLabel.setText(u"...") + self.songAddedInLabel = QLabel(self.songInfoGroupBox) + self.songAddedInLabel.setObjectName(u"songAddedInLabel") + self.songAddedInLabel.setText(u"...") - self.gridLayout.addWidget(self.songDateVersionLabel, 1, 1, 1, 1) + self.gridLayout.addWidget(self.songAddedInLabel, 1, 1, 1, 1) self.songBgDayNightLabel = QLabel(self.songInfoGroupBox) self.songBgDayNightLabel.setObjectName(u"songBgDayNightLabel") @@ -435,11 +435,11 @@ class Ui_TabTools_InfoLookup(object): self.gridLayout_4.addWidget(self.label_41, 3, 3, 1, 1) - self.difficultyDateVersionLabel = QLabel(self.groupBox_4) - self.difficultyDateVersionLabel.setObjectName(u"difficultyDateVersionLabel") - self.difficultyDateVersionLabel.setText(u"...") + self.difficultyAddedInLabel = QLabel(self.groupBox_4) + self.difficultyAddedInLabel.setObjectName(u"difficultyAddedInLabel") + self.difficultyAddedInLabel.setText(u"...") - self.gridLayout_4.addWidget(self.difficultyDateVersionLabel, 0, 4, 1, 1) + self.gridLayout_4.addWidget(self.difficultyAddedInLabel, 0, 4, 1, 1) self.label_26 = QLabel(self.groupBox_4) self.label_26.setObjectName(u"label_26") @@ -519,7 +519,7 @@ class Ui_TabTools_InfoLookup(object): self.label_11.setText(QCoreApplication.translate("TabTools_InfoLookup", u"song.artist", None)) self.label_19.setText(QCoreApplication.translate("TabTools_InfoLookup", u"song.bgSide", None)) self.label_3.setText(QCoreApplication.translate("TabTools_InfoLookup", u"song.id", None)) - self.label_15.setText(QCoreApplication.translate("TabTools_InfoLookup", u"song.date&version", None)) + self.label_15.setText(QCoreApplication.translate("TabTools_InfoLookup", u"song.addedIn", None)) self.label_6.setText(QCoreApplication.translate("TabTools_InfoLookup", u"song.title", None)) self.label_14.setText(QCoreApplication.translate("TabTools_InfoLookup", u"song.bpm", None)) self.label_25.setText(QCoreApplication.translate("TabTools_InfoLookup", u"song.source", None)) @@ -528,7 +528,7 @@ class Ui_TabTools_InfoLookup(object): self.label_2.setText(QCoreApplication.translate("TabTools_InfoLookup", u"chart.constant", None)) self.label_8.setText(QCoreApplication.translate("TabTools_InfoLookup", u"chart.notes", None)) self.groupBox_4.setTitle(QCoreApplication.translate("TabTools_InfoLookup", u"difficultyInfo", None)) - self.label_18.setText(QCoreApplication.translate("TabTools_InfoLookup", u"difficulty.date&version", None)) + self.label_18.setText(QCoreApplication.translate("TabTools_InfoLookup", u"difficulty.addedIn", None)) self.label_31.setText(QCoreApplication.translate("TabTools_InfoLookup", u"difficulty.artist", None)) self.label_13.setText(QCoreApplication.translate("TabTools_InfoLookup", u"difficulty.rating", None)) self.label_33.setText(QCoreApplication.translate("TabTools_InfoLookup", u"difficulty.bg", None)) diff --git a/ui/implements/tabs/tabTools/tabTools_InfoLookup.py b/ui/implements/tabs/tabTools/tabTools_InfoLookup.py index 048233f..24bf835 100644 --- a/ui/implements/tabs/tabTools/tabTools_InfoLookup.py +++ b/ui/implements/tabs/tabTools/tabTools_InfoLookup.py @@ -120,7 +120,7 @@ class TabTools_InfoLookup(Ui_TabTools_InfoLookup, QWidget): self.songTitleLabel.setText(title) self.songArtistLabel.setText(song.artist) self.songBpmLabel.setText(f"{song.bpm_base} ({song.bpm})") - self.songDateVersionLabel.setText(f"v{song.version}, {dateTimeStr}") + self.songAddedInLabel.setText(f"v{song.version}, {dateTimeStr}") self.songBgSideLabel.setText(bgSideText) self.songBgDayNightLabel.setText(f"{song.bg_day or '-'}/{song.bg_night or '-'}") self.songSourceLabel.setText(source) @@ -162,7 +162,7 @@ class TabTools_InfoLookup(Ui_TabTools_InfoLookup, QWidget): self.difficultyRatingLabel.setText( f"{difficulty.rating}{'+' if difficulty.rating_plus else ''}" ) - self.difficultyDateVersionLabel.setText(versionDateStr) + self.difficultyAddedInLabel.setText(versionDateStr) self.difficultyChartDesignerLabel.setText(difficulty.chart_designer or "-") self.difficultyJacketDesignerLabel.setText(difficulty.jacket_desginer or "-") self.difficultyTitleLabel.setText(title or "-") diff --git a/ui/resources/translations/en_US.ts b/ui/resources/translations/en_US.ts index 24bae0e..7b0ae1b 100644 --- a/ui/resources/translations/en_US.ts +++ b/ui/resources/translations/en_US.ts @@ -3,48 +3,13 @@ ChartSelector - - - fuzzySearch.lineEdit.placeholder - Input here... - songIdSelector.title Select Song - - songIdSelector.quickActions - Quick Actions - - - - songIdSelector.quickActions.previousPackageButton - Previous Package - - - - songIdSelector.quickActions.previousSongIdButton - Previous Song - - - - songIdSelector.quickActions.nextSongIdButton - Next Song - - - - songIdSelector.quickActions.nextPackageButton - Next Package - - - - ratingClassSelector.title - Rating Select - - - + resetButton Reset @@ -53,26 +18,21 @@ DB30TableModel - horizontalHeader.tableId - No. - - - horizontalHeader.id ID - + horizontalHeader.chart Chart - + horizontalHeader.score Score - + horizontalHeader.potential Potential @@ -81,40 +41,50 @@ DatabaseChecker - + dbPathLabel Database Path - + + dbFilenameLabel + Database filename + + + + + confirmDbPathButton + Confirm + + + + dbVersionLabel Database Version - - - dbInitLabel - Initialize - - - - + + dbCheckConnLabel Database Connection - - - dbInitButton - Initialize Database - - - - + + continueButton Continue + + + dialog.confirmNewDatabase + Database file does not exist. Create now? + + + + dialog.tryInit + The existing database doesn't seem to be initialized, try initialize it again? + DbScoreTableModel @@ -227,11 +197,16 @@ + tab.tools + Tools + + + tab.settings Settings - + tab.about About @@ -319,73 +294,95 @@ validation ScoreEditor - + + + + + + + + + setNone + None + + + + formLabel.date + Time + + + + formLabel.comment + Comment + + + formLabel.score Score - - formLabel.time - Time + + idAutoInsert + (Auto Insert) - + commitButton Commit - - formLabel.clearType - Clear Type - - - + emptyScoreDialog.title Empty Score - + emptyScoreDialog.content Are you sure to commit an empty score? - - + + chartInvalidDialog.title Chart Invalid - + scoreMismatchDialog.title Possible Invalid Score - + scoreMismatchDialog.content The entered score may not match the selected chart. Commit this score anyway? - + validate.ok OK - + validate.chartInvalid Chart invalid - + validate.scoreMismatch Possible invalid score - + validate.scoreEmpty Empty score - + + validate.scoreIncomplete + Score incomplete, cannot verify + + + validate.unknownState Unknown @@ -409,7 +406,7 @@ validation - + resetButton Reset @@ -419,11 +416,31 @@ validation Default KNearest Model - + siftDatabaseFile Default SIFT Database File + + SongIdSelector + + + search.lineEdit.placeholder + Search... + + + + + previous + Previous + + + + + next + Next + + TabAbout @@ -472,16 +489,26 @@ validation importSt3.description Import your local score database + + + exportScoresButton + Export scores + + + + exportScores.description + Export all your scores to a JSON file + TabInputScore - + tab.selectChart Chart Selector - + tab.scoreEdit Score Edit @@ -548,19 +575,200 @@ validation Select Device - + + deviceSelector.useAutoFactor + Auto Factor + + + knnModelSelector.title Select KNearest Model - + tesseractSelector.title Select tesseract Path - + siftDatabaseSelector.title Select Image SIFT Database + + TabToolsEntry + + + tab.infoLookup + Chart Info Lookup + + + + TabTools_InfoLookup + + + langSelect.label + Language + + + + songSelect + Select a song + + + + packInfo + Pack Info + + + + pack.description + Description + + + + pack.id + ID + + + + pack.name + Name + + + + songInfo + Song Info + + + + song.bgDayNight + Background Day/Night + + + + song.audioPreview + Audio Preview Segment + + + + song.artist + Artist + + + + song.bgSide + Backgroud + + + + song.id + ID + + + + song.addedIn + Added in + + + + difficulty.addedIn + Added in + + + + song.title + Title + + + + song.bpm + BPM + + + + song.source + Source + + + + chartSelect + Select a difficulty + + + + chartInfo + Chart Info + + + + chart.constant + Constant + + + + chart.notes + Notes + + + + difficultyInfo + Difficulty Info + + + + difficulty.artist + Artist + + + + difficulty.rating + Rating + + + + difficulty.bg + Background + + + + difficulty.jacketOverride + Jacket Override + + + + difficulty.chartDesigner + Chart Designer + + + + difficulty.audioOverride + Audio Override + + + + difficulty.bpm + BPM + + + + difficulty.bgInverse + Background Inversed + + + + difficulty.jacketDesigner + Jacket Designer + + + + difficulty.jacketNight + Jacket Night + + + + difficulty.title + Title + + diff --git a/ui/resources/translations/zh_CN.ts b/ui/resources/translations/zh_CN.ts index 102d09d..110955b 100644 --- a/ui/resources/translations/zh_CN.ts +++ b/ui/resources/translations/zh_CN.ts @@ -3,48 +3,13 @@ ChartSelector - - - fuzzySearch.lineEdit.placeholder - 在此输入…… - songIdSelector.title 选择曲目 - - songIdSelector.quickActions - 快速操作 - - - - songIdSelector.quickActions.previousPackageButton - 上一曲包 - - - - songIdSelector.quickActions.previousSongIdButton - 上一曲目 - - - - songIdSelector.quickActions.nextSongIdButton - 下一曲目 - - - - songIdSelector.quickActions.nextPackageButton - 下一曲包 - - - - ratingClassSelector.title - 难度选择 - - - + resetButton 重置 @@ -53,26 +18,21 @@ DB30TableModel - horizontalHeader.tableId - 序号 - - - horizontalHeader.id ID - + horizontalHeader.chart 谱面 - + horizontalHeader.score 分数 - + horizontalHeader.potential 单曲 PTT @@ -81,40 +41,50 @@ DatabaseChecker - + dbPathLabel 数据库路径 - + + dbFilenameLabel + 数据库文件名 + + + + + confirmDbPathButton + 确认 + + + + dbVersionLabel 数据库版本 - - - dbInitLabel - 初始化 - - - - + + dbCheckConnLabel 数据库连接 - - - dbInitButton - 初始化数据库 - - - - + + continueButton 继续 + + + dialog.confirmNewDatabase + 数据库文件不存在,是否创建? + + + + dialog.tryInit + 现有的数据库似乎没有正确初始化,是否尝试再次初始化? + DbScoreTableModel @@ -227,11 +197,16 @@ + tab.tools + 小工具 + + + tab.settings 设置 - + tab.about 关于 @@ -318,73 +293,95 @@ ScoreEditor - + + + + + + + + + setNone + 置空 + + + + formLabel.date + 时间 + + + + formLabel.comment + 注释 + + + formLabel.score 分数 - - formLabel.time - 时间 + + idAutoInsert + (自动插入) - + commitButton 提交 - - formLabel.clearType - 通关状态 - - - + emptyScoreDialog.title 分数为空 - + emptyScoreDialog.content 确定提交空分数吗? - - + + chartInvalidDialog.title 谱面无效 - + scoreMismatchDialog.title 分数可能有误 - + scoreMismatchDialog.content 输入的分数不在理论计算范围内。是否确认提交? - + validate.ok OK - + validate.chartInvalid 谱面无效 - + validate.scoreMismatch 分数可能有误 - + validate.scoreEmpty 分数为空 - + + validate.scoreIncomplete + 分数不完整,无法验证 + + + validate.unknownState 未知 @@ -408,7 +405,7 @@ - + resetButton 重置 @@ -418,11 +415,31 @@ 默认 KNearest 模型 - + siftDatabaseFile 默认 SIFT 特征值数据库 + + SongIdSelector + + + search.lineEdit.placeholder + 搜索…… + + + + + previous + 上一个 + + + + + next + 下一个 + + TabAbout @@ -471,16 +488,26 @@ importSt3.description 遏卡抑五年,天降飞龙,姿容极度美艳。白衣仙女以妙法擒之,与之相恋。<br>来年,恶人携联结万邦之力来袭,仙女龙妃以根源之术,呼唤神通叁式之威,退敌千里,永护宝库安宁。 + + + exportScoresButton + 导出分数 + + + + exportScores.description + 将所有分数导出为 JSON 文件 + TabInputScore - + tab.selectChart 谱面选择 - + tab.scoreEdit 分数编辑 @@ -547,19 +574,200 @@ 选择设备 - + + deviceSelector.useAutoFactor + 自动确定 factor + + + knnModelSelector.title 选择 KNearest 模型 - + tesseractSelector.title 选择 tesseract 路径 - + siftDatabaseSelector.title 选择图像 SIFT 特征值数据库 + + TabToolsEntry + + + tab.infoLookup + 查询谱面信息 + + + + TabTools_InfoLookup + + + langSelect.label + 语言 + + + + songSelect + 选择一首曲目 + + + + packInfo + 曲包信息 + + + + pack.description + 描述 + + + + pack.id + ID + + + + pack.name + 名称 + + + + songInfo + 曲目信息 + + + + song.bgDayNight + 日/夜背景 + + + + song.audioPreview + 曲目预览段 + + + + song.artist + 曲师 + + + + song.bgSide + 曲目背景 + + + + song.id + ID + + + + song.addedIn + 添加于 + + + + difficulty.addedIn + 添加于 + + + + song.title + 标题 + + + + song.bpm + BPM + + + + song.source + 来源 + + + + chartSelect + 选择一个难度 + + + + chartInfo + 谱面信息 + + + + chart.constant + 定数 + + + + chart.notes + note 数 + + + + difficultyInfo + 难度信息 + + + + difficulty.artist + 曲师 + + + + difficulty.rating + 标级 + + + + difficulty.bg + 背景 + + + + difficulty.jacketOverride + 替换封面 + + + + difficulty.chartDesigner + 谱师 + + + + difficulty.audioOverride + 替换音频 + + + + difficulty.bpm + BPM + + + + difficulty.bgInverse + 反转背景 + + + + difficulty.jacketDesigner + 封面 + + + + difficulty.jacketNight + 夜晚封面 + + + + difficulty.title + 标题 + +