res: translations update

This commit is contained in:
283375 2023-09-06 00:23:26 +08:00
parent 91235820c9
commit 0c55266896
7 changed files with 618 additions and 202 deletions

View File

@ -191,7 +191,7 @@
</sizepolicy>
</property>
<property name="displayFormat">
<string>yyyy/M/d HH:mm:ss</string>
<string notr="true">yyyy/MM/dd HH:mm:ss</string>
</property>
<property name="calendarPopup">
<bool>false</bool>
@ -322,7 +322,7 @@
<item row="0" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>ID</string>
<string notr="true">ID</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>

View File

@ -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

View File

@ -256,7 +256,7 @@
<string notr="true">QLabel { color: gray; }</string>
</property>
<property name="text">
<string>song.date&amp;version</string>
<string>song.addedIn</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@ -278,7 +278,7 @@
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="songDateVersionLabel">
<widget class="QLabel" name="songAddedInLabel">
<property name="text">
<string notr="true">...</string>
</property>
@ -440,7 +440,7 @@
<string notr="true">QLabel { color: gray; }</string>
</property>
<property name="text">
<string>difficulty.date&amp;version</string>
<string>difficulty.addedIn</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@ -608,7 +608,7 @@
</widget>
</item>
<item row="0" column="4">
<widget class="QLabel" name="difficultyDateVersionLabel">
<widget class="QLabel" name="difficultyAddedInLabel">
<property name="text">
<string notr="true">...</string>
</property>

View File

@ -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))

View File

@ -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 "-")

View File

@ -3,48 +3,13 @@
<TS version="2.1" language="en_US">
<context>
<name>ChartSelector</name>
<message>
<location filename="../../designer/components/chartSelector.ui" line="56"/>
<source>fuzzySearch.lineEdit.placeholder</source>
<translation>Input here...</translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="26"/>
<source>songIdSelector.title</source>
<translation>Select Song</translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="88"/>
<source>songIdSelector.quickActions</source>
<translation>Quick Actions</translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="94"/>
<source>songIdSelector.quickActions.previousPackageButton</source>
<translation>Previous Package</translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="101"/>
<source>songIdSelector.quickActions.previousSongIdButton</source>
<translation>Previous Song</translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="108"/>
<source>songIdSelector.quickActions.nextSongIdButton</source>
<translation>Next Song</translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="115"/>
<source>songIdSelector.quickActions.nextPackageButton</source>
<translation>Next Package</translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="134"/>
<source>ratingClassSelector.title</source>
<translation>Rating Select</translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="231"/>
<location filename="../../designer/components/chartSelector.ui" line="71"/>
<source>resetButton</source>
<translation>Reset</translation>
</message>
@ -53,26 +18,21 @@
<name>DB30TableModel</name>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="21"/>
<source>horizontalHeader.tableId</source>
<translation>No.</translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="22"/>
<source>horizontalHeader.id</source>
<translation>ID</translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="23"/>
<location filename="../../extends/shared/models/tables/b30.py" line="22"/>
<source>horizontalHeader.chart</source>
<translation>Chart</translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="24"/>
<location filename="../../extends/shared/models/tables/b30.py" line="23"/>
<source>horizontalHeader.score</source>
<translation>Score</translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="25"/>
<location filename="../../extends/shared/models/tables/b30.py" line="24"/>
<source>horizontalHeader.potential</source>
<translation>Potential</translation>
</message>
@ -81,40 +41,50 @@
<name>DatabaseChecker</name>
<message>
<location filename="../../startup/databaseChecker.ui" line="23"/>
<location filename="../../startup/databaseChecker_ui.py" line="130"/>
<location filename="../../startup/databaseChecker_ui.py" line="162"/>
<source>dbPathLabel</source>
<translation>Database Path</translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="33"/>
<location filename="../../startup/databaseChecker_ui.py" line="133"/>
<location filename="../../startup/databaseChecker_ui.py" line="165"/>
<source>dbFilenameLabel</source>
<translation>Database filename</translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="64"/>
<location filename="../../startup/databaseChecker_ui.py" line="168"/>
<source>confirmDbPathButton</source>
<translation>Confirm</translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="117"/>
<location filename="../../startup/databaseChecker_ui.py" line="177"/>
<source>dbVersionLabel</source>
<translation>Database Version</translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="47"/>
<location filename="../../startup/databaseChecker_ui.py" line="136"/>
<source>dbInitLabel</source>
<translation>Initialize</translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="54"/>
<location filename="../../startup/databaseChecker_ui.py" line="139"/>
<location filename="../../startup/databaseChecker.ui" line="93"/>
<location filename="../../startup/databaseChecker_ui.py" line="171"/>
<source>dbCheckConnLabel</source>
<translation>Database Connection</translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="61"/>
<location filename="../../startup/databaseChecker_ui.py" line="142"/>
<source>dbInitButton</source>
<translation>Initialize Database</translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="91"/>
<location filename="../../startup/databaseChecker_ui.py" line="145"/>
<location filename="../../startup/databaseChecker.ui" line="110"/>
<location filename="../../startup/databaseChecker_ui.py" line="174"/>
<source>continueButton</source>
<translation>Continue</translation>
</message>
<message>
<location filename="../../startup/databaseChecker.py" line="80"/>
<source>dialog.confirmNewDatabase</source>
<translation>Database file does not exist. Create now?</translation>
</message>
<message>
<location filename="../../startup/databaseChecker.py" line="100"/>
<source>dialog.tryInit</source>
<translation>The existing database doesn&apos;t seem to be initialized, try initialize it again?</translation>
</message>
</context>
<context>
<name>DbScoreTableModel</name>
@ -227,11 +197,16 @@
</message>
<message>
<location filename="../../designer/mainwindow.ui" line="45"/>
<source>tab.tools</source>
<translation>Tools</translation>
</message>
<message>
<location filename="../../designer/mainwindow.ui" line="50"/>
<source>tab.settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../../designer/mainwindow.ui" line="50"/>
<location filename="../../designer/mainwindow.ui" line="55"/>
<source>tab.about</source>
<translation>About</translation>
</message>
@ -319,73 +294,95 @@ validation</translation>
<context>
<name>ScoreEditor</name>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="26"/>
<location filename="../../designer/components/scoreEditor.ui" line="20"/>
<location filename="../../designer/components/scoreEditor.ui" line="50"/>
<location filename="../../designer/components/scoreEditor.ui" line="80"/>
<location filename="../../designer/components/scoreEditor.ui" line="217"/>
<location filename="../../designer/components/scoreEditor.ui" line="231"/>
<location filename="../../designer/components/scoreEditor.ui" line="241"/>
<location filename="../../designer/components/scoreEditor.ui" line="275"/>
<location filename="../../designer/components/scoreEditor.ui" line="318"/>
<source>setNone</source>
<translation>None</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="251"/>
<source>formLabel.date</source>
<translation>Time</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="298"/>
<source>formLabel.comment</source>
<translation>Comment</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="308"/>
<source>formLabel.score</source>
<translation>Score</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="100"/>
<source>formLabel.time</source>
<translation>Time</translation>
<location filename="../../designer/components/scoreEditor.ui" line="335"/>
<source>idAutoInsert</source>
<translation>(Auto Insert)</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="191"/>
<location filename="../../designer/components/scoreEditor.ui" line="261"/>
<source>commitButton</source>
<translation>Commit</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="200"/>
<source>formLabel.clearType</source>
<translation>Clear Type</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="77"/>
<location filename="../../implements/components/scoreEditor.py" line="106"/>
<source>emptyScoreDialog.title</source>
<translation>Empty Score</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="78"/>
<location filename="../../implements/components/scoreEditor.py" line="107"/>
<source>emptyScoreDialog.content</source>
<translation>Are you sure to commit an empty score?</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="57"/>
<location filename="../../implements/components/scoreEditor.py" line="58"/>
<location filename="../../implements/components/scoreEditor.py" line="86"/>
<location filename="../../implements/components/scoreEditor.py" line="87"/>
<source>chartInvalidDialog.title</source>
<translation>Chart Invalid</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="66"/>
<location filename="../../implements/components/scoreEditor.py" line="95"/>
<source>scoreMismatchDialog.title</source>
<translation>Possible Invalid Score</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="67"/>
<location filename="../../implements/components/scoreEditor.py" line="96"/>
<source>scoreMismatchDialog.content</source>
<translation>The entered score may not match the selected chart. Commit this score anyway?</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="149"/>
<location filename="../../implements/components/scoreEditor.py" line="181"/>
<source>validate.ok</source>
<translation>OK</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="151"/>
<location filename="../../implements/components/scoreEditor.py" line="183"/>
<source>validate.chartInvalid</source>
<translation>Chart invalid</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="153"/>
<location filename="../../implements/components/scoreEditor.py" line="185"/>
<source>validate.scoreMismatch</source>
<translation>Possible invalid score</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="155"/>
<location filename="../../implements/components/scoreEditor.py" line="187"/>
<source>validate.scoreEmpty</source>
<translation>Empty score</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="158"/>
<location filename="../../implements/components/scoreEditor.py" line="189"/>
<source>validate.scoreIncomplete</source>
<translation>Score incomplete, cannot verify</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="192"/>
<source>validate.unknownState</source>
<translation>Unknown</translation>
</message>
@ -409,7 +406,7 @@ validation</translation>
</message>
<message>
<location filename="../../designer/settings/settingsDefault.ui" line="101"/>
<location filename="../../designer/settings/settingsDefault.ui" line="115"/>
<location filename="../../designer/settings/settingsDefault.ui" line="118"/>
<source>resetButton</source>
<translation>Reset</translation>
</message>
@ -419,11 +416,31 @@ validation</translation>
<translation>Default KNearest Model</translation>
</message>
<message>
<location filename="../../designer/settings/settingsDefault.ui" line="138"/>
<location filename="../../designer/settings/settingsDefault.ui" line="141"/>
<source>siftDatabaseFile</source>
<translation>Default SIFT Database File</translation>
</message>
</context>
<context>
<name>SongIdSelector</name>
<message>
<location filename="../../designer/components/songIdSelector.ui" line="23"/>
<source>search.lineEdit.placeholder</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../../designer/components/songIdSelector.ui" line="54"/>
<location filename="../../designer/components/songIdSelector.ui" line="94"/>
<source>previous</source>
<translation>Previous</translation>
</message>
<message>
<location filename="../../designer/components/songIdSelector.ui" line="77"/>
<location filename="../../designer/components/songIdSelector.ui" line="117"/>
<source>next</source>
<translation>Next</translation>
</message>
</context>
<context>
<name>TabAbout</name>
<message>
@ -472,16 +489,26 @@ validation</translation>
<source>importSt3.description</source>
<translation>Import your local score database</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="58"/>
<source>exportScoresButton</source>
<translation>Export scores</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="65"/>
<source>exportScores.description</source>
<translation>Export all your scores to a JSON file</translation>
</message>
</context>
<context>
<name>TabInputScore</name>
<message>
<location filename="../../designer/tabs/tabInputScore.ui" line="26"/>
<location filename="../../designer/tabs/tabInputScore.ui" line="20"/>
<source>tab.selectChart</source>
<translation>Chart Selector</translation>
</message>
<message>
<location filename="../../designer/tabs/tabInputScore.ui" line="50"/>
<location filename="../../designer/tabs/tabInputScore.ui" line="44"/>
<source>tab.scoreEdit</source>
<translation>Score Edit</translation>
</message>
@ -548,19 +575,200 @@ validation</translation>
<translation>Select Device</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="63"/>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="33"/>
<source>deviceSelector.useAutoFactor</source>
<translation>Auto Factor</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="70"/>
<source>knnModelSelector.title</source>
<translation>Select KNearest Model</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="94"/>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="101"/>
<source>tesseractSelector.title</source>
<translation>Select tesseract Path</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="122"/>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="129"/>
<source>siftDatabaseSelector.title</source>
<translation>Select Image SIFT Database</translation>
</message>
</context>
<context>
<name>TabToolsEntry</name>
<message>
<location filename="../../designer/tabs/tabToolsEntry.ui" line="24"/>
<source>tab.infoLookup</source>
<translation>Chart Info Lookup</translation>
</message>
</context>
<context>
<name>TabTools_InfoLookup</name>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="22"/>
<source>langSelect.label</source>
<translation>Language</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="47"/>
<source>songSelect</source>
<translation>Select a song</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="65"/>
<source>packInfo</source>
<translation>Pack Info</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="74"/>
<source>pack.description</source>
<translation>Description</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="94"/>
<source>pack.id</source>
<translation>ID</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="129"/>
<source>pack.name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="157"/>
<source>songInfo</source>
<translation>Song Info</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="166"/>
<source>song.bgDayNight</source>
<translation>Background Day/Night</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="179"/>
<source>song.audioPreview</source>
<translation>Audio Preview Segment</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="206"/>
<source>song.artist</source>
<translation>Artist</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="233"/>
<source>song.bgSide</source>
<translation>Backgroud</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="246"/>
<source>song.id</source>
<translation>ID</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="259"/>
<source>song.addedIn</source>
<translation>Added in</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="443"/>
<source>difficulty.addedIn</source>
<translation>Added in</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="300"/>
<source>song.title</source>
<translation>Title</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="313"/>
<source>song.bpm</source>
<translation>BPM</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="326"/>
<source>song.source</source>
<translation>Source</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="355"/>
<source>chartSelect</source>
<translation>Select a difficulty</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="379"/>
<source>chartInfo</source>
<translation>Chart Info</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="402"/>
<source>chart.constant</source>
<translation>Constant</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="415"/>
<source>chart.notes</source>
<translation>Notes</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="434"/>
<source>difficultyInfo</source>
<translation>Difficulty Info</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="484"/>
<source>difficulty.artist</source>
<translation>Artist</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="497"/>
<source>difficulty.rating</source>
<translation>Rating</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="510"/>
<source>difficulty.bg</source>
<translation>Background</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="544"/>
<source>difficulty.jacketOverride</source>
<translation>Jacket Override</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="557"/>
<source>difficulty.chartDesigner</source>
<translation>Chart Designer</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="577"/>
<source>difficulty.audioOverride</source>
<translation>Audio Override</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="590"/>
<source>difficulty.bpm</source>
<translation>BPM</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="603"/>
<source>difficulty.bgInverse</source>
<translation>Background Inversed</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="623"/>
<source>difficulty.jacketDesigner</source>
<translation>Jacket Designer</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="636"/>
<source>difficulty.jacketNight</source>
<translation>Jacket Night</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="649"/>
<source>difficulty.title</source>
<translation>Title</translation>
</message>
</context>
</TS>

View File

@ -3,48 +3,13 @@
<TS version="2.1" language="zh_CN">
<context>
<name>ChartSelector</name>
<message>
<location filename="../../designer/components/chartSelector.ui" line="56"/>
<source>fuzzySearch.lineEdit.placeholder</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="26"/>
<source>songIdSelector.title</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="88"/>
<source>songIdSelector.quickActions</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="94"/>
<source>songIdSelector.quickActions.previousPackageButton</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="101"/>
<source>songIdSelector.quickActions.previousSongIdButton</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="108"/>
<source>songIdSelector.quickActions.nextSongIdButton</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="115"/>
<source>songIdSelector.quickActions.nextPackageButton</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="134"/>
<source>ratingClassSelector.title</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="231"/>
<location filename="../../designer/components/chartSelector.ui" line="71"/>
<source>resetButton</source>
<translation></translation>
</message>
@ -53,26 +18,21 @@
<name>DB30TableModel</name>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="21"/>
<source>horizontalHeader.tableId</source>
<translation></translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="22"/>
<source>horizontalHeader.id</source>
<translation>ID</translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="23"/>
<location filename="../../extends/shared/models/tables/b30.py" line="22"/>
<source>horizontalHeader.chart</source>
<translation></translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="24"/>
<location filename="../../extends/shared/models/tables/b30.py" line="23"/>
<source>horizontalHeader.score</source>
<translation></translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="25"/>
<location filename="../../extends/shared/models/tables/b30.py" line="24"/>
<source>horizontalHeader.potential</source>
<translation> PTT</translation>
</message>
@ -81,40 +41,50 @@
<name>DatabaseChecker</name>
<message>
<location filename="../../startup/databaseChecker.ui" line="23"/>
<location filename="../../startup/databaseChecker_ui.py" line="130"/>
<location filename="../../startup/databaseChecker_ui.py" line="162"/>
<source>dbPathLabel</source>
<translation></translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="33"/>
<location filename="../../startup/databaseChecker_ui.py" line="133"/>
<location filename="../../startup/databaseChecker_ui.py" line="165"/>
<source>dbFilenameLabel</source>
<translation></translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="64"/>
<location filename="../../startup/databaseChecker_ui.py" line="168"/>
<source>confirmDbPathButton</source>
<translation></translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="117"/>
<location filename="../../startup/databaseChecker_ui.py" line="177"/>
<source>dbVersionLabel</source>
<translation></translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="47"/>
<location filename="../../startup/databaseChecker_ui.py" line="136"/>
<source>dbInitLabel</source>
<translation></translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="54"/>
<location filename="../../startup/databaseChecker_ui.py" line="139"/>
<location filename="../../startup/databaseChecker.ui" line="93"/>
<location filename="../../startup/databaseChecker_ui.py" line="171"/>
<source>dbCheckConnLabel</source>
<translation></translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="61"/>
<location filename="../../startup/databaseChecker_ui.py" line="142"/>
<source>dbInitButton</source>
<translation></translation>
</message>
<message>
<location filename="../../startup/databaseChecker.ui" line="91"/>
<location filename="../../startup/databaseChecker_ui.py" line="145"/>
<location filename="../../startup/databaseChecker.ui" line="110"/>
<location filename="../../startup/databaseChecker_ui.py" line="174"/>
<source>continueButton</source>
<translation></translation>
</message>
<message>
<location filename="../../startup/databaseChecker.py" line="80"/>
<source>dialog.confirmNewDatabase</source>
<translation></translation>
</message>
<message>
<location filename="../../startup/databaseChecker.py" line="100"/>
<source>dialog.tryInit</source>
<translation></translation>
</message>
</context>
<context>
<name>DbScoreTableModel</name>
@ -227,11 +197,16 @@
</message>
<message>
<location filename="../../designer/mainwindow.ui" line="45"/>
<source>tab.tools</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/mainwindow.ui" line="50"/>
<source>tab.settings</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/mainwindow.ui" line="50"/>
<location filename="../../designer/mainwindow.ui" line="55"/>
<source>tab.about</source>
<translation></translation>
</message>
@ -318,73 +293,95 @@
<context>
<name>ScoreEditor</name>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="26"/>
<location filename="../../designer/components/scoreEditor.ui" line="20"/>
<location filename="../../designer/components/scoreEditor.ui" line="50"/>
<location filename="../../designer/components/scoreEditor.ui" line="80"/>
<location filename="../../designer/components/scoreEditor.ui" line="217"/>
<location filename="../../designer/components/scoreEditor.ui" line="231"/>
<location filename="../../designer/components/scoreEditor.ui" line="241"/>
<location filename="../../designer/components/scoreEditor.ui" line="275"/>
<location filename="../../designer/components/scoreEditor.ui" line="318"/>
<source>setNone</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="251"/>
<source>formLabel.date</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="298"/>
<source>formLabel.comment</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="308"/>
<source>formLabel.score</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="100"/>
<source>formLabel.time</source>
<translation></translation>
<location filename="../../designer/components/scoreEditor.ui" line="335"/>
<source>idAutoInsert</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="191"/>
<location filename="../../designer/components/scoreEditor.ui" line="261"/>
<source>commitButton</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="200"/>
<source>formLabel.clearType</source>
<translation></translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="77"/>
<location filename="../../implements/components/scoreEditor.py" line="106"/>
<source>emptyScoreDialog.title</source>
<translation></translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="78"/>
<location filename="../../implements/components/scoreEditor.py" line="107"/>
<source>emptyScoreDialog.content</source>
<translation></translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="57"/>
<location filename="../../implements/components/scoreEditor.py" line="58"/>
<location filename="../../implements/components/scoreEditor.py" line="86"/>
<location filename="../../implements/components/scoreEditor.py" line="87"/>
<source>chartInvalidDialog.title</source>
<translation></translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="66"/>
<location filename="../../implements/components/scoreEditor.py" line="95"/>
<source>scoreMismatchDialog.title</source>
<translation></translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="67"/>
<location filename="../../implements/components/scoreEditor.py" line="96"/>
<source>scoreMismatchDialog.content</source>
<translation></translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="149"/>
<location filename="../../implements/components/scoreEditor.py" line="181"/>
<source>validate.ok</source>
<translation>OK</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="151"/>
<location filename="../../implements/components/scoreEditor.py" line="183"/>
<source>validate.chartInvalid</source>
<translation></translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="153"/>
<location filename="../../implements/components/scoreEditor.py" line="185"/>
<source>validate.scoreMismatch</source>
<translation></translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="155"/>
<location filename="../../implements/components/scoreEditor.py" line="187"/>
<source>validate.scoreEmpty</source>
<translation></translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="158"/>
<location filename="../../implements/components/scoreEditor.py" line="189"/>
<source>validate.scoreIncomplete</source>
<translation></translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="192"/>
<source>validate.unknownState</source>
<translation></translation>
</message>
@ -408,7 +405,7 @@
</message>
<message>
<location filename="../../designer/settings/settingsDefault.ui" line="101"/>
<location filename="../../designer/settings/settingsDefault.ui" line="115"/>
<location filename="../../designer/settings/settingsDefault.ui" line="118"/>
<source>resetButton</source>
<translation></translation>
</message>
@ -418,11 +415,31 @@
<translation> KNearest </translation>
</message>
<message>
<location filename="../../designer/settings/settingsDefault.ui" line="138"/>
<location filename="../../designer/settings/settingsDefault.ui" line="141"/>
<source>siftDatabaseFile</source>
<translation> SIFT </translation>
</message>
</context>
<context>
<name>SongIdSelector</name>
<message>
<location filename="../../designer/components/songIdSelector.ui" line="23"/>
<source>search.lineEdit.placeholder</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/songIdSelector.ui" line="54"/>
<location filename="../../designer/components/songIdSelector.ui" line="94"/>
<source>previous</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/components/songIdSelector.ui" line="77"/>
<location filename="../../designer/components/songIdSelector.ui" line="117"/>
<source>next</source>
<translation></translation>
</message>
</context>
<context>
<name>TabAbout</name>
<message>
@ -471,16 +488,26 @@
<source>importSt3.description</source>
<translation>姿&lt;br&gt;退</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="58"/>
<source>exportScoresButton</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="65"/>
<source>exportScores.description</source>
<translation> JSON </translation>
</message>
</context>
<context>
<name>TabInputScore</name>
<message>
<location filename="../../designer/tabs/tabInputScore.ui" line="26"/>
<location filename="../../designer/tabs/tabInputScore.ui" line="20"/>
<source>tab.selectChart</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabInputScore.ui" line="50"/>
<location filename="../../designer/tabs/tabInputScore.ui" line="44"/>
<source>tab.scoreEdit</source>
<translation></translation>
</message>
@ -547,19 +574,200 @@
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="63"/>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="33"/>
<source>deviceSelector.useAutoFactor</source>
<translation> factor</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="70"/>
<source>knnModelSelector.title</source>
<translation> KNearest </translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="94"/>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="101"/>
<source>tesseractSelector.title</source>
<translation> tesseract </translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="122"/>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="129"/>
<source>siftDatabaseSelector.title</source>
<translation> SIFT </translation>
</message>
</context>
<context>
<name>TabToolsEntry</name>
<message>
<location filename="../../designer/tabs/tabToolsEntry.ui" line="24"/>
<source>tab.infoLookup</source>
<translation></translation>
</message>
</context>
<context>
<name>TabTools_InfoLookup</name>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="22"/>
<source>langSelect.label</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="47"/>
<source>songSelect</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="65"/>
<source>packInfo</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="74"/>
<source>pack.description</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="94"/>
<source>pack.id</source>
<translation>ID</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="129"/>
<source>pack.name</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="157"/>
<source>songInfo</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="166"/>
<source>song.bgDayNight</source>
<translation>/</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="179"/>
<source>song.audioPreview</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="206"/>
<source>song.artist</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="233"/>
<source>song.bgSide</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="246"/>
<source>song.id</source>
<translation>ID</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="259"/>
<source>song.addedIn</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="443"/>
<source>difficulty.addedIn</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="300"/>
<source>song.title</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="313"/>
<source>song.bpm</source>
<translation>BPM</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="326"/>
<source>song.source</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="355"/>
<source>chartSelect</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="379"/>
<source>chartInfo</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="402"/>
<source>chart.constant</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="415"/>
<source>chart.notes</source>
<translation>note </translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="434"/>
<source>difficultyInfo</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="484"/>
<source>difficulty.artist</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="497"/>
<source>difficulty.rating</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="510"/>
<source>difficulty.bg</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="544"/>
<source>difficulty.jacketOverride</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="557"/>
<source>difficulty.chartDesigner</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="577"/>
<source>difficulty.audioOverride</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="590"/>
<source>difficulty.bpm</source>
<translation>BPM</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="603"/>
<source>difficulty.bgInverse</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="623"/>
<source>difficulty.jacketDesigner</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="636"/>
<source>difficulty.jacketNight</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="649"/>
<source>difficulty.title</source>
<translation></translation>
</message>
</context>
</TS>