2023-10-10 19:50:27 +08:00

1239 lines
50 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>ChartAndScoreInput</name>
<message>
<location filename="../../designer/components/chartAndScoreInput.ui" line="20"/>
<source>selectChart</source>
<translation>选择一个谱面</translation>
</message>
<message>
<location filename="../../designer/components/chartAndScoreInput.ui" line="44"/>
<source>editScore</source>
<translation>编辑分数</translation>
</message>
</context>
<context>
<name>ChartSelector</name>
<message>
<location filename="../../designer/components/chartSelector.ui" line="26"/>
<source>songIdSelector.title</source>
<translation>选择一首歌曲</translation>
</message>
<message>
<location filename="../../designer/components/chartSelector.ui" line="71"/>
<source>resetButton</source>
<translation>重置</translation>
</message>
</context>
<context>
<name>DB30TableModel</name>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="21"/>
<source>horizontalHeader.id</source>
<translation>ID</translation>
</message>
<message>
<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="23"/>
<source>horizontalHeader.score</source>
<translation>分数</translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/b30.py" line="24"/>
<source>horizontalHeader.potential</source>
<translation>单曲 PTT</translation>
</message>
</context>
<context>
<name>DatabaseChecker</name>
<message>
<location filename="../../startup/databaseChecker.ui" line="23"/>
<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="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="93"/>
<location filename="../../startup/databaseChecker_ui.py" line="171"/>
<source>dbCheckConnLabel</source>
<translation>数据库连接</translation>
</message>
<message>
<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="117"/>
<source>dialog.tryInitExistingDatabase</source>
<translation>现有的数据库似乎没有正确初始化,是否尝试再次初始化?</translation>
</message>
<message>
<location filename="../../startup/databaseChecker.py" line="133"/>
<source>dialog.confirmNewDatabase</source>
<translation>数据库文件不存在,是否创建?</translation>
</message>
</context>
<context>
<name>DbScoreTableModel</name>
<message>
<location filename="../../extends/shared/models/tables/score.py" line="22"/>
<source>horizontalHeader.id</source>
<translation>ID</translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/score.py" line="23"/>
<source>horizontalHeader.chart</source>
<translation>谱面</translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/score.py" line="24"/>
<source>horizontalHeader.score</source>
<translation>分数</translation>
</message>
<message>
<location filename="../../extends/shared/models/tables/score.py" line="25"/>
<source>horizontalHeader.potential</source>
<translation>单曲 PTT</translation>
</message>
</context>
<context>
<name>DbTableViewer</name>
<message>
<location filename="../../designer/components/dbTableViewer.ui" line="20"/>
<source>actions</source>
<translation>操作</translation>
</message>
<message>
<location filename="../../designer/components/dbTableViewer.ui" line="26"/>
<source>actions.removeSelected</source>
<translation>移除选中</translation>
</message>
<message>
<location filename="../../designer/components/dbTableViewer.ui" line="46"/>
<source>actions.refresh</source>
<translation>刷新</translation>
</message>
<message>
<location filename="../../designer/components/dbTableViewer.ui" line="81"/>
<source>view</source>
<translation>视图</translation>
</message>
<message>
<location filename="../../designer/components/dbTableViewer.ui" line="89"/>
<source>view.sort.label</source>
<translation>排序</translation>
</message>
<message>
<location filename="../../designer/components/dbTableViewer.ui" line="106"/>
<source>view.sort.descendingCheckBox</source>
<translation>降序</translation>
</message>
<message>
<location filename="../../designer/components/dbTableViewer.ui" line="126"/>
<source>view.filter.label</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../designer/components/dbTableViewer.ui" line="146"/>
<source>view.filter.configureButton</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FileSelector</name>
<message>
<location filename="../../designer/components/fileSelector.ui" line="45"/>
<source>selectButton</source>
<translation>选择</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../../designer/mainwindow.ui" line="25"/>
<source>tab.overview</source>
<translation>概览</translation>
</message>
<message>
<location filename="../../designer/mainwindow.ui" line="30"/>
<source>tab.input</source>
<translation>录入</translation>
</message>
<message>
<location filename="../../designer/mainwindow.ui" line="35"/>
<source>tab.db</source>
<translation>数据库</translation>
</message>
<message>
<location filename="../../designer/mainwindow.ui" line="40"/>
<source>tab.ocr</source>
<translation>OCR</translation>
</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="55"/>
<source>tab.about</source>
<translation>关于</translation>
</message>
</context>
<context>
<name>OcrQueue</name>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="22"/>
<source>queue.title</source>
<translation>队列</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="28"/>
<source>iccOptionsGroupBox</source>
<translation>ICC 文件选项</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="34"/>
<source>icc.ignore</source>
<translation>忽略</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="41"/>
<source>icc.usePIL</source>
<translation>使用 PIL 读取</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="51"/>
<source>icc.tryFix</source>
<translation>尝试修复</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="61"/>
<source>queue.addImageButton</source>
<translation>添加图像文件</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="71"/>
<source>queue.removeSelected</source>
<translation>移除选中</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="81"/>
<source>queue.removeAll</source>
<translation>移除所有</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="101"/>
<source>queue.startOcrButton</source>
<translation>开始 OCR</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="153"/>
<source>results</source>
<translation>结果</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="162"/>
<source>results.acceptSelectedButton</source>
<translation>提交选中</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="169"/>
<source>results.acceptAllButton</source>
<translation>提交所有</translation>
</message>
<message>
<location filename="../../designer/components/ocrQueue.ui" line="189"/>
<source>results.ignoreValidate</source>
<translation>忽略验证</translation>
</message>
</context>
<context>
<name>OcrTableModel</name>
<message>
<location filename="../../extends/components/ocrQueue.py" line="347"/>
<source>horizontalHeader.title.select</source>
<translation>选择</translation>
</message>
<message>
<location filename="../../extends/components/ocrQueue.py" line="348"/>
<source>horizontalHeader.title.imagePreview</source>
<translation>图像预览</translation>
</message>
<message>
<location filename="../../extends/components/ocrQueue.py" line="349"/>
<source>horizontalHeader.title.chart</source>
<translation>谱面</translation>
</message>
<message>
<location filename="../../extends/components/ocrQueue.py" line="350"/>
<source>horizontalHeader.title.score</source>
<translation>分数</translation>
</message>
</context>
<context>
<name>ResettableItem</name>
<message>
<location filename="../../designer/components/settings/resettableItem.ui" line="32"/>
<source>resetButton</source>
<translation>重置</translation>
</message>
</context>
<context>
<name>ScoreEditor</name>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="139"/>
<location filename="../../designer/components/scoreEditor.ui" line="178"/>
<location filename="../../designer/components/scoreEditor.ui" line="225"/>
<location filename="../../designer/components/scoreEditor.ui" line="258"/>
<location filename="../../designer/components/scoreEditor.ui" line="285"/>
<location filename="../../designer/components/scoreEditor.ui" line="292"/>
<location filename="../../designer/components/scoreEditor.ui" line="318"/>
<location filename="../../designer/components/scoreEditor.ui" line="328"/>
<source>setNone</source>
<translation>置空</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="102"/>
<source>formLabel.date</source>
<translation>时间</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="268"/>
<source>formLabel.comment</source>
<translation>注释</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="119"/>
<source>formLabel.preview</source>
<translation>预览</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="20"/>
<source>formLabel.score</source>
<translation>分数</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="278"/>
<source>idAutoInsert</source>
<translation>(自动插入)</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="112"/>
<source>warnIfIncomplete</source>
<translation>不完整时要求确认</translation>
</message>
<message>
<location filename="../../designer/components/scoreEditor.ui" line="218"/>
<source>commitButton</source>
<translation>提交</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="327"/>
<source>validate.ok</source>
<translation>OK</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="65"/>
<source>confirmDialog.chartIncomplete.title</source>
<translation>谱面数据缺失</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="66"/>
<source>confirmDialog.chartIncomplete.text</source>
<translation>谱面数据缺失,无法验证分数。继续提交吗?</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="71"/>
<source>confirmDialog.scoreMismatch.title</source>
<translation>分数可能有误</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="72"/>
<source>confirmDialog.scoreMismatch.text</source>
<translation>输入的分数不在理论计算范围内。继续提交吗?</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="77"/>
<source>confirmDialog.emptyScore.title</source>
<translation>分数为空</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="78"/>
<source>confirmDialog.emptyScore.text</source>
<translation>分数为空,继续提交吗?</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="83"/>
<source>confirmDialog.scoreIncompleteForValidate.title</source>
<translation>分数不完整</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="84"/>
<source>confirmDialog.scoreIncompleteForValidate.text</source>
<translation>无法验证不完整的分数。继续提交吗?</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="212"/>
<source>confirmDialog.chartNotSet.title</source>
<translation>未指定谱面</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="213"/>
<source>confirmDialog.chartNotSet.text</source>
<translation>未指定谱面,无法提交。</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="221"/>
<source>confirmDialog.scoreIncomplete.title</source>
<translation>分数不完整</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="222"/>
<source>confirmDialog.scoreIncomplete.text</source>
<translation>缺失必要的分数数据,无法提交。</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="331"/>
<source>validate.chartNotSet</source>
<translation>未指定谱面</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="335"/>
<source>validate.chartIncomple</source>
<translation>谱面数据缺失,无法验证分数</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="339"/>
<source>validate.scoreMismatch</source>
<translation>分数可能有误</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="343"/>
<source>validate.scoreEmpty</source>
<translation>分数为空</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="347"/>
<source>validate.scoreIncomplete</source>
<translation>缺失必要分数数据</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="353"/>
<source>validate.scoreIncompleteForValidate</source>
<translation>分数不完整,无法验证</translation>
</message>
<message>
<location filename="../../implements/components/scoreEditor.py" line="358"/>
<source>validate.unknownState</source>
<translation>未知</translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<location filename="../../implements/settings/settingsAndreal.py" line="79"/>
<source>andreal.title</source>
<translation>Andreal</translation>
</message>
<message>
<location filename="../../implements/settings/settingsAndreal.py" line="81"/>
<source>andreal.andrealFolder.label</source>
<translation>Andreal 数据文件夹</translation>
</message>
<message>
<location filename="../../implements/settings/settingsAndreal.py" line="82"/>
<location filename="../../implements/settings/settingsAndreal.py" line="85"/>
<location filename="../../implements/settings/settingsGeneral.py" line="107"/>
<location filename="../../implements/settings/settingsOcr.py" line="190"/>
<location filename="../../implements/settings/settingsOcr.py" line="193"/>
<location filename="../../implements/settings/settingsOcr.py" line="196"/>
<location filename="../../implements/settings/settingsOcr.py" line="199"/>
<location filename="../../implements/settings/settingsOcr.py" line="202"/>
<location filename="../../implements/settings/settingsOcr.py" line="205"/>
<source>resetButton</source>
<translation>重置</translation>
</message>
<message>
<location filename="../../implements/settings/settingsAndreal.py" line="84"/>
<source>andreal.andrealExecutable.label</source>
<translation>Andreal 可执行文件</translation>
</message>
<message>
<location filename="../../implements/settings/settingsGeneral.py" line="78"/>
<source>general.dbUrlResetWarning</source>
<translation>即将删除该设置项并关闭应用,手动重启后即可再次指定数据库路径。是否继续?</translation>
</message>
<message>
<location filename="../../implements/settings/settingsGeneral.py" line="101"/>
<source>general.title</source>
<translation>通用</translation>
</message>
<message>
<location filename="../../implements/settings/settingsGeneral.py" line="103"/>
<source>general.language.label</source>
<translation>语言</translation>
</message>
<message>
<location filename="../../implements/settings/settingsGeneral.py" line="104"/>
<source>general.language.followSystem</source>
<translation>跟随系统</translation>
</message>
<message>
<location filename="../../implements/settings/settingsGeneral.py" line="106"/>
<source>general.dbUrl.label</source>
<translation>数据库 URL</translation>
</message>
<message>
<location filename="../../implements/settings/settingsOcr.py" line="187"/>
<source>ocr.title</source>
<translation>OCR</translation>
</message>
<message>
<location filename="../../implements/settings/settingsOcr.py" line="189"/>
<source>ocr.devicesJson.label</source>
<translation>默认设备定义文件</translation>
</message>
<message>
<location filename="../../implements/settings/settingsOcr.py" line="192"/>
<source>ocr.deviceUuid.label</source>
<translation>默认设备</translation>
</message>
<message>
<location filename="../../implements/settings/settingsOcr.py" line="195"/>
<source>ocr.knnModelFile.label</source>
<translation>默认 KNearest 模型</translation>
</message>
<message>
<location filename="../../implements/settings/settingsOcr.py" line="198"/>
<source>ocr.b30KnnModelFile.label</source>
<translation>默认 B30 KNearest 模型</translation>
</message>
<message>
<location filename="../../implements/settings/settingsOcr.py" line="201"/>
<source>ocr.siftDatabaseFile.label</source>
<translation>默认 SIFT 特征值数据库</translation>
</message>
<message>
<location filename="../../implements/settings/settingsOcr.py" line="204"/>
<source>ocr.phashDatabaseFile.label</source>
<translation>默认图像 PHash 数据库</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>
<location filename="../../designer/tabs/tabAbout.ui" line="79"/>
<source>About Qt</source>
<translation>关于 Qt</translation>
</message>
<message>
<location filename="../../designer/tabs/tabAbout.ui" line="86"/>
<source>Version Info</source>
<translation>版本信息</translation>
</message>
</context>
<context>
<name>TabDbEntry</name>
<message>
<location filename="../../designer/tabs/tabDbEntry.ui" line="24"/>
<source>tab.manage</source>
<translation>管理</translation>
</message>
<message>
<location filename="../../implements/tabs/tabDbEntry.py" line="20"/>
<source>tab.scoreTableViewer</source>
<translation>表 [分数]</translation>
</message>
<message>
<location filename="../../implements/tabs/tabDbEntry.py" line="24"/>
<source>tab.b30TableViewer</source>
<translation>表 [B30]</translation>
</message>
</context>
<context>
<name>TabDb_Manage</name>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="23"/>
<source>syncArcSongDbButton</source>
<translation>同步 arcsong.db</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="30"/>
<source>syncArcSongDb.description</source>
<translation>更新谱面信息</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="37"/>
<source>importSt3Button</source>
<translation>导入本地存档数据库</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="44"/>
<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>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="79"/>
<source>importPacklistButton</source>
<translation>导入 packlist</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="86"/>
<source>importSonglistButton</source>
<translation>导入 songlist</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="93"/>
<source>importPacklist.description</source>
<translation>导入 packlist 文件</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="100"/>
<source>importSonglist.description</source>
<translation>导入 songlist 文件</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="107"/>
<source>exportArcsongJsonButton</source>
<translation>导出 arcsong.json</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="114"/>
<source>exportArcsongJson.description</source>
<translation>导出 arcsong.json 文件</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="121"/>
<source>importApkButton</source>
<translation>导入 APK</translation>
</message>
<message>
<location filename="../../designer/tabs/tabDb/tabDb_Manage.ui" line="128"/>
<source>importApk.description</source>
<translation>从 .apk 文件导入 packlist 和 songlist</translation>
</message>
</context>
<context>
<name>TabOcrDisabled</name>
<message>
<location filename="../../designer/tabs/tabOcrDisabled.ui" line="81"/>
<source>ocrDisabled.title</source>
<translation>OCR 已禁用</translation>
</message>
</context>
<context>
<name>TabOcrEntry</name>
<message>
<location filename="../../designer/tabs/tabOcrEntry.ui" line="24"/>
<source>tab.device</source>
<translation>截图</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcrEntry.ui" line="29"/>
<source>tab.b30</source>
<translation>B30</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcrEntry.ui" line="34"/>
<source>tab.buildPHashDatabase</source>
<translation>构建 pHash 数据库</translation>
</message>
</context>
<context>
<name>TabOcr_B30</name>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_B30.ui" line="20"/>
<source>b30type</source>
<translation>B30 图片类型</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_B30.ui" line="34"/>
<source>knnModelSelector.title</source>
<translation>选择 KNearest 模型</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_B30.ui" line="46"/>
<source>b30KnnModelSelector.title</source>
<translation>选择 B30 特别版 KNearest 模型</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_B30.ui" line="62"/>
<source>phashDatabaseSelector.title</source>
<translation>选择图像 PHash 数据库</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_B30.ui" line="74"/>
<source>imageSelector.title</source>
<translation>选择图片</translation>
</message>
</context>
<context>
<name>TabOcr_BuildPHashDatabase</name>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_BuildPHashDatabase.ui" line="33"/>
<source>folders.title</source>
<translation>数据文件夹</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_BuildPHashDatabase.ui" line="41"/>
<source>folders.songDir</source>
<translation>曲封</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_BuildPHashDatabase.ui" line="62"/>
<source>folders.charIconDir</source>
<translation>搭档头像</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_BuildPHashDatabase.ui" line="84"/>
<source>options.title</source>
<translation>选项</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_BuildPHashDatabase.ui" line="157"/>
<source>options.preprocessCharIcon</source>
<translation>预处理搭档头像</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_BuildPHashDatabase.ui" line="180"/>
<source>resetButton</source>
<translation>重置</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_BuildPHashDatabase.ui" line="199"/>
<source>[Reading images] %v/%m - %p%</source>
<translation>[读取图片] %v/%m - %p%</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_BuildPHashDatabase.ui" line="215"/>
<source>[Calculate hashes] %v/%m - %p%</source>
<translation>[计算哈希] %v/%m - %p%</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_BuildPHashDatabase.ui" line="237"/>
<source>buildButton</source>
<translation>构建</translation>
</message>
</context>
<context>
<name>TabOcr_Device</name>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="20"/>
<source>openWizardButton</source>
<translation>打开设备创建向导</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="27"/>
<source>options.title</source>
<translation>选项</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="35"/>
<source>options.usePreset</source>
<translation>使用预设</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="73"/>
<source>options.rois</source>
<translation>定位器</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="128"/>
<source>options.masker</source>
<translation>遮罩器</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="138"/>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="145"/>
<source>options.useCustom</source>
<translation>使用自定义设置</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="203"/>
<source>dependencies.title</source>
<translation>OCR 依赖</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="209"/>
<source>dependencies.knnModel</source>
<translation>KNearest 模型</translation>
</message>
<message>
<location filename="../../designer/tabs/tabOcr/tabOcr_Device.ui" line="246"/>
<source>dependencies.phashDatabase</source>
<translation>图像 pHash 数据库</translation>
</message>
</context>
<context>
<name>TabOverview</name>
<message>
<location filename="../../implements/tabs/tabOverview.py" line="43"/>
<source>databaseDescribeLabel {} {} {} {} {} {}</source>
<translation>数据库中有 {} 个曲包,{} 首歌曲,{} 个难度,{} 个谱面信息({} 个完整),{} 个分数记录。</translation>
</message>
</context>
<context>
<name>TabToolsEntry</name>
<message>
<location filename="../../designer/tabs/tabToolsEntry.ui" line="24"/>
<source>tab.infoLookup</source>
<translation>查询谱面信息</translation>
</message>
<message>
<location filename="../../designer/tabs/tabToolsEntry.ui" line="29"/>
<source>tab.stepCalculator</source>
<translation>步数计算器</translation>
</message>
<message>
<location filename="../../designer/tabs/tabToolsEntry.ui" line="34"/>
<source>tab.chartRecommend</source>
<translation>谱面推荐</translation>
</message>
<message>
<location filename="../../designer/tabs/tabToolsEntry.ui" line="39"/>
<source>tab.andreal</source>
<translation>Andreal 图片生成</translation>
</message>
</context>
<context>
<name>TabTools_Andreal</name>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="23"/>
<source>andrealFolder</source>
<translation>Andreal 数据文件夹</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="33"/>
<source>andrealExecutable</source>
<translation>Andreal 可执行文件</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="43"/>
<source>imageType</source>
<translation>图片类型</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="102"/>
<source>imageTypeWhatIsThisButton</source>
<translation>/a 是什么?</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="112"/>
<source>chart</source>
<translation>选择一个谱面</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="143"/>
<source>chart.selectButton</source>
<translation>选择</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="160"/>
<source>imageVersion</source>
<translation>图片版本</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="177"/>
<source>imageFormat</source>
<translation>图片格式</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="225"/>
<source>jpgQuality</source>
<translation>JPG 质量</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="294"/>
<source>exportJsonButton</source>
<translation>导出请求数据至 JSON</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="301"/>
<source>generatePreviewButton</source>
<translation>生成预览</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_Andreal.ui" line="313"/>
<source>generateImageButton</source>
<translation>生成</translation>
</message>
<message>
<location filename="../../implements/tabs/tabTools/tabTools_Andreal.py" line="138"/>
<source>imageWhatIsThisDialog.description</source>
<translation>生成……&lt;ul&gt;&lt;li&gt;/a - 最近一次成绩&lt;/li&gt;&lt;li&gt;/a b30 - /a b30&lt;/li&gt;&lt;li&gt;/a info - 所选谱面的最好成绩&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
</context>
<context>
<name>TabTools_ChartRecommend</name>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_ChartRecommend.ui" line="20"/>
<source>constantRangeFromPlayRating</source>
<translation>由单曲 PTT 逆算谱面定数范围</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_ChartRecommend.ui" line="118"/>
<source>chartsByConstant</source>
<translation>按定数查谱</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_ChartRecommend.ui" line="174"/>
<location filename="../../designer/tabs/tabTools/tabTools_ChartRecommend.ui" line="273"/>
<source>refreshButton</source>
<translation>换一批</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_ChartRecommend.ui" line="197"/>
<source>chartsRecommendFromPlayRating</source>
<translation>由单曲 PTT 结合最好成绩推荐谱面</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>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_InfoLookup.ui" line="695"/>
<source>playRatingCalculate</source>
<translation>计算单曲 PTT</translation>
</message>
</context>
<context>
<name>TabTools_StepCalculator</name>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="97"/>
<source>legacyPlay.noOptions</source>
<translation>没有选项</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="147"/>
<source>legacyPlayPlus.useFragments</source>
<translation>使用残片</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="190"/>
<source>play.memoryBoost</source>
<translation>源韵强化</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="201"/>
<source>partner.title</source>
<translation>搭档</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="209"/>
<source>partner.stepValueLabel</source>
<translation>STEP 值</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="243"/>
<source>partner.skill.title</source>
<translation>搭档技能</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="260"/>
<source>partner.skill.stepBonus</source>
<translation>步数加成</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="267"/>
<source>partner.skill.finalMultiplier</source>
<translation>最终乘算</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="296"/>
<source>partner.skill.presets</source>
<translation>预置数据</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="302"/>
<source>partner.skill.presets.awakenedEto</source>
<translation>爱托(觉醒)</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="309"/>
<source>partner.skill.presets.awakenedIlith</source>
<translation>依莉丝(觉醒)</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="316"/>
<source>partner.skill.presets.awakenedLuna</source>
<translation>露娜(觉醒)</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="323"/>
<source>partner.skill.presets.amaneBelowEx</source>
<translation>天音EX 以下)</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="330"/>
<source>partner.skill.presets.maya</source>
<translation>摩耶</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="358"/>
<source>calculate.toStep</source>
<translation>正算</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="386"/>
<source>calculate.toStep.playResultLabel</source>
<translation>单曲 PTT</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="419"/>
<source>calculate.toStep.calculatePlayResultFromScoreButton</source>
<translation>从分数计算</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="399"/>
<source>calculate.toStep.resultLabel</source>
<translation>结果</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="20"/>
<source>detailedLogOutput</source>
<translation>详细日志输出</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="429"/>
<source>calculate.fromStep</source>
<translation>逆算</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="438"/>
<source>calculate.fromStep.targetStepLabel</source>
<translation>目标 STEP 值</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="461"/>
<source>calculate.fromStep.resultLabel</source>
<translation>结果(单曲 PTT</translation>
</message>
</context>
</TS>