diff --git a/.hgignore b/.hgignore index e8e6aac6..8338ba5c 100644 --- a/.hgignore +++ b/.hgignore @@ -23,5 +23,7 @@ cocoa/*/de.lproj/*.xib qt/base/*_rc.py qt/lang/fr.qm qt/lang/en.qm +qt/lang/de.qm +qt/lang/zh.qm help/*/conf.py help/*/changelog.rst \ No newline at end of file diff --git a/qt/base/dg.qrc b/qt/base/dg.qrc index deffe73b..bd4c68f4 100644 --- a/qt/base/dg.qrc +++ b/qt/base/dg.qrc @@ -5,6 +5,8 @@ ../lang/qt_fr.qm ../lang/de.qm ../lang/qt_de.qm + ../lang/zh.qm + ../lang/qt_zh.qm ../../images/dgpe_logo_32.png ../../images/dgpe_logo_128.png ../../images/dgme_logo_32.png diff --git a/qt/base/preferences_dialog.py b/qt/base/preferences_dialog.py index 6e125997..cad2b092 100644 --- a/qt/base/preferences_dialog.py +++ b/qt/base/preferences_dialog.py @@ -85,6 +85,7 @@ class PreferencesDialogBase(QDialog): self.languageComboBox.addItem(tr("English")) self.languageComboBox.addItem(tr("French")) self.languageComboBox.addItem(tr("German")) + self.languageComboBox.addItem(tr("Chinese (Simplified)")) self.widgetsVLayout.addWidget(self.languageComboBox) self.copyMoveLabel = QLabel(self) self.copyMoveLabel.setText(tr("Copy and Move:")) @@ -151,6 +152,7 @@ class PreferencesDialogBase(QDialog): langindex = { 'fr': 1, 'de': 2, + 'zh': 3 }.get(self.app.prefs.language, 0) self.languageComboBox.setCurrentIndex(langindex) self._load(prefs, setchecked) @@ -166,7 +168,7 @@ class PreferencesDialogBase(QDialog): prefs.debug_mode = ischecked(self.debugModeBox) prefs.destination_type = self.copyMoveDestinationComboBox.currentIndex() prefs.custom_command = str(self.customCommandEdit.text()) - langs = ['en', 'fr', 'de'] + langs = ['en', 'fr', 'de', 'zh'] lang = langs[self.languageComboBox.currentIndex()] oldlang = self.app.prefs.language if oldlang not in langs: diff --git a/qt/lang/de.qm b/qt/lang/de.qm deleted file mode 100644 index c23d7841..00000000 Binary files a/qt/lang/de.qm and /dev/null differ diff --git a/qt/lang/qt_zh.qm b/qt/lang/qt_zh.qm new file mode 100644 index 00000000..623b8e33 Binary files /dev/null and b/qt/lang/qt_zh.qm differ diff --git a/qt/lang/zh.ts b/qt/lang/zh.ts new file mode 100755 index 00000000..93e883ba --- /dev/null +++ b/qt/lang/zh.ts @@ -0,0 +1,781 @@ + + + + + +core + + + Collecting files to scan + 收集文件以备扫描 + + + %s (%d discarded) + %s (%d 无效) + + + Scanning for duplicates + 重复文件扫描中 + + + Loading + 载入中 + + + Moving + 移动中 + + + Copying + 复制中 + + + Sending to Trash + 移到垃圾桶 + + + 0 matches found + 未找到匹配项 + + + %d matches found + 找到 %d 匹配项 + + + Read size of %d/%d files + 读取 %d/%d 文件大小 + + + Grouped %d/%d matches + %d/%d 匹配项组合在一起 + + + %d / %d (%s / %s) duplicates marked. + 已标记 %d / %d (%s / %s) 重复项. + + + filter: %s + 筛选: %s + + + Read metadata of %d/%d files + 读取 %d/%d 文件元数据 + + + Removing false matches + 移除错误匹配项 + + + Processed %d/%d matches against the ignore list + 在忽略列表之外已处理 %d/%d 匹配项 + + + Doing group prioritization + 优化分组 + + + + Continue + 继续 + + + Continue ({}) + 继续 ({}) + + + + Analyzed %d/%d pictures + 分析 %d/%d 图像 + + + Preparing for matching + 准备进行匹配 + + + Matched %d/%d pictures + %d/%d 图像已匹配 + + + Verified %d/%d matches + 验证 %d/%d 匹配项 + + + + Removing dead tracks from your iTunes Library + 从你的iTunes库中移除无效的音轨 + + + Scanning the iTunes Library + 正在扫描iTunes库 + + + + Probing iPhoto. Don't touch it during the operation! + 正在对iPhoto进行搜索.请在此过程中不要触碰任何按键! + + + Sending dupes to the Trash + 将重复文件移到垃圾桶 + + + + + Sending files to the recycle bin + 将文件移到回收站 + + + Quit + 退出 + + + Preferences + 首选项 + + + dupeGuru Help + dupeGuru帮助 + + + About dupeGuru + 关于dupeGuru + + + Register dupeGuru + 注册dupeGuru + + + Check for Update + 检查更新 + + + Open Debug Log + 打开调试记录 + + + Add to Ignore List + 添加到忽略列表中 + + + copy + 复制 + + + move + 移动 + + + Remove duplicates + 移除重复文件 + + + Custom Command + 自定义命令 + + + Operation Complete + 执行完成 + + + Scan complete + 扫描完成 + + + Attribute + 属性 + + + Selected + 已选择 + + + Reference + 引用 + + + Load Results... + 载入结果... + + + Results Window + 结果窗口 + + + Add Folder... + 添加文件夹... + + + File + 文件 + + + View + 视图 + + + Help + 帮助 + + + Load Recent Results + 载入最近的结果 + + + Load Results + 载入结果 + + + Scan + 扫描 + + + Unsaved results + 未保存的结果 + + + dupeGuru Results (*.dupeguru) + dupeGuru结果 (*.dupeguru) + + + All Files (*.*) + 所有文件 (*.*) + + + Start a new scan + 开始新的扫描 + + + Name + 名称 + + + State + 说明 + + + Normal + 正常 + + + Excluded + 不包含 + + + Problems! + 有问题! + + + Reveal Selected + 显示选择 + + + Close + 关闭 + + + File Path + 文件路径 + + + Error Message + 错误信息 + + + Details + 详细说明 + + + Actions + 行为 + + + Show Dupes Only + 仅显示重复文件 + + + Show Delta Values + 显示Delta值 + + + Send Marked to Recycle Bin + 将标记的文件移到回收站 + + + Delete Marked and Replace with Hardlinks + 删除标记文件并用硬连接进行替换 + + + Move Marked to... + 将标记的文件移动到... + + + Copy Marked to... + 将标记的文件复制到... + + + Remove Marked from Results + 从结果中移除标记的文件 + + + Remove Selected from Results + 从结果中移除所选的文件 + + + Add Selected to Ignore List + 将所选文件添加到忽略列表中 + + + Make Selected Reference + 将所选文件设定为参照文件 + + + Open Selected with Default Application + 使用默认程序打开所选文件 + + + Open Containing Folder of Selected + 打开已选文件所在的文件夹 + + + Rename Selected + 重命名所选文件 + + + Mark All + 标记全部 + + + Mark None + 全部取消标记 + + + Invert Marking + 反选标记文件 + + + Mark Selected + 标记所选文件 + + + Clear Ignore List + 清空忽略列表 + + + Apply Filter + 应用筛选 + + + Cancel Filter + 取消筛选 + + + Export To HTML + 导出为 HTML + + + Save Results... + 保存结果... + + + Invoke Custom Command + 调用自定义命令 + + + Mark + 标记 + + + Columns + + + + Reset to Defaults + 重置为默认值 + + + {} Results + {} (结果) + + + Delete duplicates + 删除重复文件 + + + Delete and hardlink duplicates + 删除及硬连接重复文件 + + + + + Scan Type: + 扫描类型: + + + Filename + 文件名称 + + + Contents + 内容 + + + Folders + 文件夹 + + + Filter Hardness: + 筛选强度: + + + More Results + 较多结果 + + + Fewer Results + 较少结果 + + + Word weighting + 词语匹配权重 + + + Match similar words + 匹配相近词语 + + + Can mix file kind + 混合文件类型 + + + Use regular expressions when filtering + 筛选时使用常规表达式 + + + Remove empty folders on delete or move + 删除或移动时同时移除空文件夹 + + + Ignore files smaller than + 忽略文件当其小于: + + + KB + KB + + + Ignore duplicates hardlinking to the same file + 忽略重复文件当其硬连接到相同文件时 + + + Copy and Move: + 复制和移动: + + + Right in destination + 目标位置 + + + Recreate relative path + 重建相对路径 + + + Recreate absolute path + 重建绝对路径 + + + Custom Command (arguments: %d for dupe, %r for ref): + 自定义命令 (参数: %d 指重复文件, %r 指引用): + + + Filename - Fields + 文件名称 - 字段名 + + + Filename - Fields (No Order) + 文件名称 - 字段名 (无序) + + + Tags + 标签 + + + Audio Contents + 音频内容 + + + Tags to scan: + 标签扫描: + + + Track + 音轨 + + + Artist + 演唱者 + + + Album + 专辑 + + + Title + 歌曲名 + + + Genre + 音乐类型 + + + Year + + + + Match pictures of different dimensions + 匹配不同规格的图像 + + + Clear Picture Cache + 清空图片缓存 + + + Clear List + 清空列表 + + + Language: + 语言: + + + English + 英语 + + + French + 法语 + + + German + 德语 + + + Debug mode (restart required) + 调试模式 (需要重新启动) + + + + + +columns + + Filename + 文件名称 + + + Folder + 文件夹 + + + Size (KB) + 大小 (KB) + + + Size (MB) + 大小 (MB) + + + Kind + 类型 + + + Modification + 编辑 + + + Match % + 匹配 % + + + Words Used + 使用过的词语 + + + Dupe Count + 重复文件数 + + + + Time + 时间 + + + Bitrate + 比特 + + + Sample Rate + 采样率 + + + Title + 歌曲名 + + + Artist + 演唱者 + + + Album + 专辑 + + + Genre + 音乐类型 + + + Year + + + + Track Number + 音轨号 + + + Comment + 注释 + + + + Dimensions + 规格 + + + + + +ExtraFairwareReminder + + Sorry, I must insist + 抱歉,现在仍要继续 + + + Contribute + 捐助 + + + ExtraFairwarePromptMsg + 看起来似乎您找到了很多重复文件。这也是我继续精进这个软件的动力之一。然而,我衷心的希望能够得到您的捐助,因为我会日夜奋战于这个软件并且没有任何报酬。 + +您可能会觉得 "反正这个软件我只用一次,我不需要给开发者任何捐助". 问题是大多数人都只用一次dupeGuru。如果每一位都这样想,dupeGuru的开发也就没有资金支持了。也正是因为dupeGuru自身的性质决定了它有着仅用一次的内在倾向,所以我还必须坚持致力于这个软件的开发与精进。 + +如果您无法承担捐助,您也可以忽略此提醒,或者发送电子邮件至 support@hardcoded.net ,我会发送给您一个注册密钥。 + + + ExtraFairwareReasonMsg + 此提醒框弹出的原因如下: + +1. 您正在处理超过100个重复文件 +2. 您没有捐助过dupeGuru +3. 此软件中还有未支付时间 + + + + +message + + SelectFolderToScanMsg + 选择要扫描的文件夹,然后点击 "扫描". + + + TaskHangingMsg + 目前还有任务在执行,新任务无法开启。请等待几秒钟后再重新试一次。 + + + IgnoreConfirmMsg + 目前已选的 {} 匹配项将在后续的扫描中被忽略。继续吗? + + + SelectCopyOrMoveDestinationMsg + 选择一个文件夹将标记的 {} 个文件进行... + + + FileRemovalConfirmMsg + 你将从结果中移除 {} 个文件。继续吗? + + + NoCustomCommandMsg + 你没有设定自定义命令。请在首选项中进行设定。 + + + OperationSuccessMsg + 所有文件已成功处理。 + + + NoDuplicateFoundMsg + 没有找到重复文件。 + + + ReallyWantToQuitMsg + 目前还有结果尚未保存,确定要退出吗? + + + SelectFolderToAddMsg + 选择一个文件夹以加入到扫描列表中 + + + SelectResultToLoadMsg + 选择一个结果文件并载入 + + + ReallyWantToContinueMsg + 目前还有结果尚未保存,确定要继续吗? + + + NoScannableFileMsg + 所选文件夹中不包含可供扫描的文件。 + + + ProblemsDuringProcessingMsg + 在处理部分或全部文件时发现问题。产生问题的原因在下表中进行描述。这些文件将不会从结果中移除。 + + + TypeFilterMsg + 请输入筛选条件以应用到结果。详见帮助文档。 + + + NothingToClearMsg + 无需清空。 + + + ClearIgnoreListConfirmMsg + 确定要从忽略列表中移除 {} 项吗? + + + IgnoreListClearedMsg + 忽略列表已清空。 + + + SendToTrashConfirmMsg + 即将有 {} 个文件被移到回收站。继续吗? + + + HardlinkConfirmMsg + 即将有 {} 个文件被移动垃圾桶并删除硬盘上的文件。继续吗? + + + SelectResultToSaveMsg + 选择一个文件将结果保存到 + + + NeedsToRestartToApplyLangMsg + dupeGuru将重新启动以使语言修改生效。 + + + ClearPictureCacheConfirmMsg + 确定要移除所有缓存图片? + + + PictureCacheClearedMsg + 图片缓存已清空。 + + + \ No newline at end of file