1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2026-01-25 08:01:39 +00:00

Compare commits

...

13 Commits

Author SHA1 Message Date
Virgil Dupras
f2d77bb60b Updated hscommon. 2011-09-03 13:49:06 -04:00
Virgil Dupras
4b9cba4d7f Removed some code duplication. 2011-09-03 13:28:36 -04:00
Virgil Dupras
47c9d39150 Added loc entry for "Chinese (Simplified)". 2011-09-03 10:30:31 -04:00
Virgil Dupras
14aba2b507 Added Eric Dee to credits for the chinese localization. 2011-09-03 10:25:17 -04:00
Virgil Dupras
bb2faa27f9 Added Chinese (Simplified) localization for Qt. 2011-09-03 10:19:17 -04:00
Virgil Dupras
e10e9a6976 Fixed a double tr() call. It caused a crash when in Chinese mode. 2011-09-03 10:15:03 -04:00
Virgil Dupras
73ba4954c1 Today's not my day. 2011-08-27 16:54:44 -04:00
Virgil Dupras
2c8c077b82 Well, congrats to me: that was a really stupid bug. Scans in PE were impossible. That's a quick fix. 2011-08-27 15:33:27 -04:00
Virgil Dupras
f7a3e78870 Merged heads. 2011-08-27 12:12:11 -07:00
Virgil Dupras
38638a90f1 Fixed se's xcode3 project which didn't have a ref tothe german FairwareReminder.xib. 2011-08-27 12:11:42 -07:00
Virgil Dupras
11cff312f5 Added tag pe2.2.2 for changeset 925847384dce 2011-08-27 13:41:31 -04:00
Virgil Dupras
17656d8e7c pe v2.2.2 2011-08-27 12:56:51 -04:00
Virgil Dupras
42cb788d35 Added tag me6.0.2 for changeset 28ba95706dc5 2011-08-26 18:39:20 -04:00
18 changed files with 822 additions and 6 deletions

View File

@@ -23,5 +23,7 @@ cocoa/*/de.lproj/*.xib
qt/base/*_rc.py qt/base/*_rc.py
qt/lang/fr.qm qt/lang/fr.qm
qt/lang/en.qm qt/lang/en.qm
qt/lang/de.qm
qt/lang/zh.qm
help/*/conf.py help/*/conf.py
help/*/changelog.rst help/*/changelog.rst

View File

@@ -52,3 +52,5 @@ e44d5127ed605daa7a17a01eee65d0a157de20c0 pe2.2.0
ecf9aaa568340e3d03e8854b7556edd5a3285107 pe2.2.1 ecf9aaa568340e3d03e8854b7556edd5a3285107 pe2.2.1
db1f325c907ffa9808a49cb7bc2886b9fca7aee2 se3.1.1 db1f325c907ffa9808a49cb7bc2886b9fca7aee2 se3.1.1
e62183e907d6177cf0bac354e31afa9546c199e6 se3.1.2 e62183e907d6177cf0bac354e31afa9546c199e6 se3.1.2
28ba95706dc54ba32b1c0cf4e1e6350515d19ba3 me6.0.2
925847384dcef62a5c3518fc9e5ce42feab2b093 pe2.2.2

View File

@@ -100,6 +100,7 @@
CE4526F112E5F55F00005A15 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = ../base/en.lproj/core.strings; sourceTree = SOURCE_ROOT; }; CE4526F112E5F55F00005A15 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = ../base/en.lproj/core.strings; sourceTree = SOURCE_ROOT; };
CE4526F312E5F57000005A15 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../base/fr.lproj/core.strings; sourceTree = SOURCE_ROOT; }; CE4526F312E5F57000005A15 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../base/fr.lproj/core.strings; sourceTree = SOURCE_ROOT; };
CE45579A0AE3BC2B005A9546 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = "<absolute>"; }; CE45579A0AE3BC2B005A9546 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = "<absolute>"; };
CE50A2CB1409769700AD9080 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../../cocoalib/de.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; };
CE647E541173024A006D28BA /* ProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProblemDialog.h; path = ../base/ProblemDialog.h; sourceTree = SOURCE_ROOT; }; CE647E541173024A006D28BA /* ProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProblemDialog.h; path = ../base/ProblemDialog.h; sourceTree = SOURCE_ROOT; };
CE647E551173024A006D28BA /* ProblemDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProblemDialog.m; path = ../base/ProblemDialog.m; sourceTree = SOURCE_ROOT; }; CE647E551173024A006D28BA /* ProblemDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProblemDialog.m; path = ../base/ProblemDialog.m; sourceTree = SOURCE_ROOT; };
CE647E561173024A006D28BA /* PyProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyProblemDialog.h; path = ../base/PyProblemDialog.h; sourceTree = SOURCE_ROOT; }; CE647E561173024A006D28BA /* PyProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyProblemDialog.h; path = ../base/PyProblemDialog.h; sourceTree = SOURCE_ROOT; };
@@ -605,6 +606,7 @@
children = ( children = (
CE79638512536C94008D405B /* en */, CE79638512536C94008D405B /* en */,
CE05341312E5DC260029EF25 /* fr */, CE05341312E5DC260029EF25 /* fr */,
CE50A2CB1409769700AD9080 /* de */,
); );
name = FairwareReminder.xib; name = FairwareReminder.xib;
path = ../../cocoalib/xib; path = ../../cocoalib/xib;

View File

@@ -1,2 +1,2 @@
__version__ = '2.2.1' __version__ = '2.2.2'
__appname__ = 'dupeGuru Picture Edition' __appname__ = 'dupeGuru Picture Edition'

View File

@@ -89,7 +89,7 @@ class Directories(directories.Directories):
except directories.InvalidPathError: except directories.InvalidPathError:
self.iphoto_libpath = None self.iphoto_libpath = None
def _get_files(self, from_path): def _get_files(self, from_path, j):
if from_path == IPHOTO_PATH: if from_path == IPHOTO_PATH:
if self.iphoto_libpath is None: if self.iphoto_libpath is None:
return [] return []
@@ -99,7 +99,7 @@ class Directories(directories.Directories):
photo.is_ref = is_ref photo.is_ref = is_ref
return photos return photos
else: else:
return directories.Directories._get_files(self, from_path) return directories.Directories._get_files(self, from_path, j)
@staticmethod @staticmethod
def get_subfolders(path): def get_subfolders(path):

View File

@@ -1,3 +1,10 @@
=== 2.2.2 (2011-08-27)
* Added German localization by Gregor Tätzner.
* Improved OS X Lion compatibility. [Mac OS X]
* Made the file collection phase cancellable. (#168)
* Fixed glitch in folder window upon selecting a folder state. [Windows, Linux] (#165)
=== 2.2.1 (2011-06-15) === 2.2.1 (2011-06-15)
* Brought back the filter hardness label which disappeared in 2.2.0. [Mac OS X] (#164) * Brought back the filter hardness label which disappeared in 2.2.0. [Mac OS X] (#164)

View File

@@ -10,6 +10,8 @@ Unten befindet sich die Liste aller Menschen, die direkt oder indirekt zu dupeGu
| **Gregor Tätzner, deutsche Übersetzung** | **Gregor Tätzner, deutsche Übersetzung**
| **Eric Dee, chinesische Übersetzung**
| **Python, Programming language** (`Website <http://www.python.org>`__) | **Python, Programming language** (`Website <http://www.python.org>`__)
| The bestest of the bests | The bestest of the bests

View File

@@ -10,6 +10,8 @@ Below is the list of people who contributed, directly or indirectly to dupeGuru.
| **Gregor Tätzner, German localization** | **Gregor Tätzner, German localization**
| **Eric Dee, Chinese localization**
| **Python, Programming language** (`Website <http://www.python.org>`__) | **Python, Programming language** (`Website <http://www.python.org>`__)
| The bestest of the bests | The bestest of the bests

View File

@@ -9,6 +9,8 @@ Voici la liste des contributeurs de dupeGuru. Merci!
| **Gregor Tätzner, localisation allemande** | **Gregor Tätzner, localisation allemande**
| **Eric Dee, localisation choinoise**
| **Python, Langage de programmation** (`Website <http://www.python.org>`__) | **Python, Langage de programmation** (`Website <http://www.python.org>`__)
| Le meilleur des meilleurs | Le meilleur des meilleurs

View File

@@ -83,7 +83,7 @@ class DupeGuru(DupeGuruBase, QObject):
self.reg = Registration(self) self.reg = Registration(self)
self.set_registration(self.prefs.registration_code, self.prefs.registration_email) self.set_registration(self.prefs.registration_code, self.prefs.registration_email)
if not self.registered and self.unpaid_hours >= 1: if self.should_show_fairware_reminder:
# The timer scheme is because if the nag is not shown before the application is # The timer scheme is because if the nag is not shown before the application is
# completely initialized, the nag will be shown before the app shows up in the task bar # completely initialized, the nag will be shown before the app shows up in the task bar
# In some circumstances, the nag is hidden by other window, which may make the user think # In some circumstances, the nag is hidden by other window, which may make the user think

View File

@@ -5,6 +5,8 @@
<file alias="qt_fr.qm">../lang/qt_fr.qm</file> <file alias="qt_fr.qm">../lang/qt_fr.qm</file>
<file alias="de.qm">../lang/de.qm</file> <file alias="de.qm">../lang/de.qm</file>
<file alias="qt_de.qm">../lang/qt_de.qm</file> <file alias="qt_de.qm">../lang/qt_de.qm</file>
<file alias="zh.qm">../lang/zh.qm</file>
<file alias="qt_zh.qm">../lang/qt_zh.qm</file>
<file alias="logo_pe">../../images/dgpe_logo_32.png</file> <file alias="logo_pe">../../images/dgpe_logo_32.png</file>
<file alias="logo_pe_big">../../images/dgpe_logo_128.png</file> <file alias="logo_pe_big">../../images/dgpe_logo_128.png</file>
<file alias="logo_me">../../images/dgme_logo_32.png</file> <file alias="logo_me">../../images/dgme_logo_32.png</file>

View File

@@ -85,6 +85,7 @@ class PreferencesDialogBase(QDialog):
self.languageComboBox.addItem(tr("English")) self.languageComboBox.addItem(tr("English"))
self.languageComboBox.addItem(tr("French")) self.languageComboBox.addItem(tr("French"))
self.languageComboBox.addItem(tr("German")) self.languageComboBox.addItem(tr("German"))
self.languageComboBox.addItem(tr("Chinese (Simplified)"))
self.widgetsVLayout.addWidget(self.languageComboBox) self.widgetsVLayout.addWidget(self.languageComboBox)
self.copyMoveLabel = QLabel(self) self.copyMoveLabel = QLabel(self)
self.copyMoveLabel.setText(tr("Copy and Move:")) self.copyMoveLabel.setText(tr("Copy and Move:"))
@@ -151,6 +152,7 @@ class PreferencesDialogBase(QDialog):
langindex = { langindex = {
'fr': 1, 'fr': 1,
'de': 2, 'de': 2,
'zh': 3
}.get(self.app.prefs.language, 0) }.get(self.app.prefs.language, 0)
self.languageComboBox.setCurrentIndex(langindex) self.languageComboBox.setCurrentIndex(langindex)
self._load(prefs, setchecked) self._load(prefs, setchecked)
@@ -166,7 +168,7 @@ class PreferencesDialogBase(QDialog):
prefs.debug_mode = ischecked(self.debugModeBox) prefs.debug_mode = ischecked(self.debugModeBox)
prefs.destination_type = self.copyMoveDestinationComboBox.currentIndex() prefs.destination_type = self.copyMoveDestinationComboBox.currentIndex()
prefs.custom_command = str(self.customCommandEdit.text()) prefs.custom_command = str(self.customCommandEdit.text())
langs = ['en', 'fr', 'de'] langs = ['en', 'fr', 'de', 'zh']
lang = langs[self.languageComboBox.currentIndex()] lang = langs[self.languageComboBox.currentIndex()]
oldlang = self.app.prefs.language oldlang = self.app.prefs.language
if oldlang not in langs: if oldlang not in langs:

Binary file not shown.

View File

@@ -557,6 +557,10 @@
<source>German</source> <source>German</source>
<translation>Deutsch</translation> <translation>Deutsch</translation>
</message> </message>
<message>
<source>Chinese (Simplified)</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Debug mode (restart required)</source> <source>Debug mode (restart required)</source>
<translation>Debug Modus (Neustart nötig)</translation> <translation>Debug Modus (Neustart nötig)</translation>

View File

@@ -557,6 +557,10 @@
<source>German</source> <source>German</source>
<translation>Allemand</translation> <translation>Allemand</translation>
</message> </message>
<message>
<source>Chinese (Simplified)</source>
<translation>Chinois (Simplifié)</translation>
</message>
<message> <message>
<source>Debug mode (restart required)</source> <source>Debug mode (restart required)</source>
<translation>Mode de déboguage (redémarrage requis)</translation> <translation>Mode de déboguage (redémarrage requis)</translation>

BIN
qt/lang/qt_zh.qm Normal file

Binary file not shown.

785
qt/lang/zh.ts Executable file
View File

@@ -0,0 +1,785 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="zh_CN">
<!-- ******** Core ******** -->
<context>
<name>core</name>
<!-- core.* -->
<message>
<source>Collecting files to scan</source>
<translation></translation>
</message>
<message>
<source>%s (%d discarded)</source>
<translation>%s (%d )</translation>
</message>
<message>
<source>Scanning for duplicates</source>
<translation></translation>
</message>
<message>
<source>Loading</source>
<translation></translation>
</message>
<message>
<source>Moving</source>
<translation></translation>
</message>
<message>
<source>Copying</source>
<translation></translation>
</message>
<message>
<source>Sending to Trash</source>
<translation></translation>
</message>
<message>
<source>0 matches found</source>
<translation></translation>
</message>
<message>
<source>%d matches found</source>
<translation> %d </translation>
</message>
<message>
<source>Read size of %d/%d files</source>
<translation> %d/%d </translation>
</message>
<message>
<source>Grouped %d/%d matches</source>
<translation>%d/%d </translation>
</message>
<message>
<source>%d / %d (%s / %s) duplicates marked.</source>
<translation> %d / %d (%s / %s) .</translation>
</message>
<message>
<source> filter: %s</source>
<translation> : %s</translation>
</message>
<message>
<source>Read metadata of %d/%d files</source>
<translation> %d/%d </translation>
</message>
<message>
<source>Removing false matches</source>
<translation></translation>
</message>
<message>
<source>Processed %d/%d matches against the ignore list</source>
<translation> %d/%d </translation>
</message>
<message>
<source>Doing group prioritization</source>
<translation></translation>
</message>
<message>
<source>Continue</source>
<translation></translation>
</message>
<message>
<source>Continue ({})</source>
<translation> ({})</translation>
</message>
<message>
<source>Analyzed %d/%d pictures</source>
<translation> %d/%d </translation>
</message>
<message>
<source>Preparing for matching</source>
<translation></translation>
</message>
<message>
<source>Matched %d/%d pictures</source>
<translation>%d/%d </translation>
</message>
<message>
<source>Verified %d/%d matches</source>
<translation> %d/%d </translation>
</message>
<message>
<source>Removing dead tracks from your iTunes Library</source>
<translation>iTunes库中移除无效的音轨</translation>
</message>
<message>
<source>Scanning the iTunes Library</source>
<translation>iTunes库</translation>
</message>
<message>
<source>Probing iPhoto. Don't touch it during the operation!</source>
<translation>iPhoto进行搜索.!</translation>
</message>
<message>
<source>Sending dupes to the Trash</source>
<translation></translation>
</message>
<!-- qt.* -->
<message>
<source>Sending files to the recycle bin</source>
<translation></translation>
</message>
<message>
<source>Quit</source>
<translation>退</translation>
</message>
<message>
<source>Preferences</source>
<translation></translation>
</message>
<message>
<source>dupeGuru Help</source>
<translation>dupeGuru帮助</translation>
</message>
<message>
<source>About dupeGuru</source>
<translation>dupeGuru</translation>
</message>
<message>
<source>Register dupeGuru</source>
<translation>dupeGuru</translation>
</message>
<message>
<source>Check for Update</source>
<translation></translation>
</message>
<message>
<source>Open Debug Log</source>
<translation></translation>
</message>
<message>
<source>Add to Ignore List</source>
<translation></translation>
</message>
<message>
<source>copy</source>
<translation></translation>
</message>
<message>
<source>move</source>
<translation></translation>
</message>
<message>
<source>Remove duplicates</source>
<translation></translation>
</message>
<message>
<source>Custom Command</source>
<translation></translation>
</message>
<message>
<source>Operation Complete</source>
<translation></translation>
</message>
<message>
<source>Scan complete</source>
<translation></translation>
</message>
<message>
<source>Attribute</source>
<translation></translation>
</message>
<message>
<source>Selected</source>
<translation></translation>
</message>
<message>
<source>Reference</source>
<translation></translation>
</message>
<message>
<source>Load Results...</source>
<translation>...</translation>
</message>
<message>
<source>Results Window</source>
<translation></translation>
</message>
<message>
<source>Add Folder...</source>
<translation>...</translation>
</message>
<message>
<source>File</source>
<translation></translation>
</message>
<message>
<source>View</source>
<translation></translation>
</message>
<message>
<source>Help</source>
<translation></translation>
</message>
<message>
<source>Load Recent Results</source>
<translation></translation>
</message>
<message>
<source>Load Results</source>
<translation></translation>
</message>
<message>
<source>Scan</source>
<translation></translation>
</message>
<message>
<source>Unsaved results</source>
<translation></translation>
</message>
<message>
<source>dupeGuru Results (*.dupeguru)</source>
<translation>dupeGuru结果 (*.dupeguru)</translation>
</message>
<message>
<source>All Files (*.*)</source>
<translation> (*.*)</translation>
</message>
<message>
<source>Start a new scan</source>
<translation></translation>
</message>
<message>
<source>Name</source>
<translation></translation>
</message>
<message>
<source>State</source>
<translation></translation>
</message>
<message>
<source>Normal</source>
<translation></translation>
</message>
<message>
<source>Excluded</source>
<translation></translation>
</message>
<message>
<source>Problems!</source>
<translation>!</translation>
</message>
<message>
<source>Reveal Selected</source>
<translation></translation>
</message>
<message>
<source>Close</source>
<translation></translation>
</message>
<message>
<source>File Path</source>
<translation></translation>
</message>
<message>
<source>Error Message</source>
<translation></translation>
</message>
<message>
<source>Details</source>
<translation></translation>
</message>
<message>
<source>Actions</source>
<translation></translation>
</message>
<message>
<source>Show Dupes Only</source>
<translation></translation>
</message>
<message>
<source>Show Delta Values</source>
<translation>Delta值</translation>
</message>
<message>
<source>Send Marked to Recycle Bin</source>
<translation></translation>
</message>
<message>
<source>Delete Marked and Replace with Hardlinks</source>
<translation></translation>
</message>
<message>
<source>Move Marked to...</source>
<translation>...</translation>
</message>
<message>
<source>Copy Marked to...</source>
<translation>...</translation>
</message>
<message>
<source>Remove Marked from Results</source>
<translation></translation>
</message>
<message>
<source>Remove Selected from Results</source>
<translation></translation>
</message>
<message>
<source>Add Selected to Ignore List</source>
<translation></translation>
</message>
<message>
<source>Make Selected Reference</source>
<translation></translation>
</message>
<message>
<source>Open Selected with Default Application</source>
<translation>使</translation>
</message>
<message>
<source>Open Containing Folder of Selected</source>
<translation></translation>
</message>
<message>
<source>Rename Selected</source>
<translation></translation>
</message>
<message>
<source>Mark All</source>
<translation></translation>
</message>
<message>
<source>Mark None</source>
<translation></translation>
</message>
<message>
<source>Invert Marking</source>
<translation></translation>
</message>
<message>
<source>Mark Selected</source>
<translation></translation>
</message>
<message>
<source>Clear Ignore List</source>
<translation></translation>
</message>
<message>
<source>Apply Filter</source>
<translation></translation>
</message>
<message>
<source>Cancel Filter</source>
<translation></translation>
</message>
<message>
<source>Export To HTML</source>
<translation> HTML</translation>
</message>
<message>
<source>Save Results...</source>
<translation>...</translation>
</message>
<message>
<source>Invoke Custom Command</source>
<translation></translation>
</message>
<message>
<source>Mark</source>
<translation></translation>
</message>
<message>
<source>Columns</source>
<translation></translation>
</message>
<message>
<source>Reset to Defaults</source>
<translation></translation>
</message>
<message>
<source>{} Results</source>
<translation>{} ()</translation>
</message>
<message>
<source>Delete duplicates</source>
<translation></translation>
</message>
<message>
<source>Delete and hardlink duplicates</source>
<translation></translation>
</message>
<!--- Preferences dialog -->
<message>
<source>Scan Type:</source>
<translation>:</translation>
</message>
<message>
<source>Filename</source>
<translation></translation>
</message>
<message>
<source>Contents</source>
<translation></translation>
</message>
<message>
<source>Folders</source>
<translation></translation>
</message>
<message>
<source>Filter Hardness:</source>
<translation>:</translation>
</message>
<message>
<source>More Results</source>
<translation></translation>
</message>
<message>
<source>Fewer Results</source>
<translation></translation>
</message>
<message>
<source>Word weighting</source>
<translation></translation>
</message>
<message>
<source>Match similar words</source>
<translation></translation>
</message>
<message>
<source>Can mix file kind</source>
<translation></translation>
</message>
<message>
<source>Use regular expressions when filtering</source>
<translation>使</translation>
</message>
<message>
<source>Remove empty folders on delete or move</source>
<translation></translation>
</message>
<message>
<source>Ignore files smaller than</source>
<translation>:</translation>
</message>
<message>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
<source>Ignore duplicates hardlinking to the same file</source>
<translation></translation>
</message>
<message>
<source>Copy and Move:</source>
<translation>:</translation>
</message>
<message>
<source>Right in destination</source>
<translation></translation>
</message>
<message>
<source>Recreate relative path</source>
<translation></translation>
</message>
<message>
<source>Recreate absolute path</source>
<translation></translation>
</message>
<message>
<source>Custom Command (arguments: %d for dupe, %r for ref):</source>
<translation> (: %d , %r ):</translation>
</message>
<message>
<source>Filename - Fields</source>
<translation> - </translation>
</message>
<message>
<source>Filename - Fields (No Order)</source>
<translation> - ()</translation>
</message>
<message>
<source>Tags</source>
<translation></translation>
</message>
<message>
<source>Audio Contents</source>
<translation></translation>
</message>
<message>
<source>Tags to scan:</source>
<translation>:</translation>
</message>
<message>
<source>Track</source>
<translation></translation>
</message>
<message>
<source>Artist</source>
<translation></translation>
</message>
<message>
<source>Album</source>
<translation></translation>
</message>
<message>
<source>Title</source>
<translation></translation>
</message>
<message>
<source>Genre</source>
<translation></translation>
</message>
<message>
<source>Year</source>
<translation></translation>
</message>
<message>
<source>Match pictures of different dimensions</source>
<translation></translation>
</message>
<message>
<source>Clear Picture Cache</source>
<translation></translation>
</message>
<message>
<source>Clear List</source>
<translation></translation>
</message>
<message>
<source>Language:</source>
<translation>:</translation>
</message>
<message>
<source>English</source>
<translation></translation>
</message>
<message>
<source>French</source>
<translation></translation>
</message>
<message>
<source>German</source>
<translation></translation>
</message>
<message>
<source>Chinese (Simplified)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Debug mode (restart required)</source>
<translation> ()</translation>
</message>
</context>
<!-- ******** Columns ******** -->
<context>
<name>columns</name>
<message>
<source>Filename</source>
<translation></translation>
</message>
<message>
<source>Folder</source>
<translation></translation>
</message>
<message>
<source>Size (KB)</source>
<translation> (KB)</translation>
</message>
<message>
<source>Size (MB)</source>
<translation> (MB)</translation>
</message>
<message>
<source>Kind</source>
<translation></translation>
</message>
<message>
<source>Modification</source>
<translation></translation>
</message>
<message>
<source>Match %</source>
<translation> %</translation>
</message>
<message>
<source>Words Used</source>
<translation>使</translation>
</message>
<message>
<source>Dupe Count</source>
<translation></translation>
</message>
<message>
<source>Time</source>
<translation></translation>
</message>
<message>
<source>Bitrate</source>
<translation></translation>
</message>
<message>
<source>Sample Rate</source>
<translation></translation>
</message>
<message>
<source>Title</source>
<translation></translation>
</message>
<message>
<source>Artist</source>
<translation></translation>
</message>
<message>
<source>Album</source>
<translation></translation>
</message>
<message>
<source>Genre</source>
<translation></translation>
</message>
<message>
<source>Year</source>
<translation></translation>
</message>
<message>
<source>Track Number</source>
<translation></translation>
</message>
<message>
<source>Comment</source>
<translation></translation>
</message>
<message>
<source>Dimensions</source>
<translation></translation>
</message>
</context>
<!-- ******** ExtraFairwareReminder ******** -->
<context>
<name>ExtraFairwareReminder</name>
<message>
<source>Sorry, I must insist</source>
<translation>,</translation>
</message>
<message>
<source>Contribute</source>
<translation></translation>
</message>
<message>
<source>ExtraFairwarePromptMsg</source>
<translation>
&quot;&quot;. dupeGurudupeGuru的开发也就没有资金支持了dupeGuru自身的性质决定了它有着仅用一次的内在倾向
support@hardcoded.net </translation>
</message>
<message>
<source>ExtraFairwareReasonMsg</source>
<translation>此提醒框弹出的原因如下:
1. 100
2. dupeGuru
3. </translation>
</message>
</context>
<!-- ******** Message ******** -->
<context>
<name>message</name>
<message>
<source>SelectFolderToScanMsg</source>
<translation> &quot;&quot;.</translation>
</message>
<message>
<source>TaskHangingMsg</source>
<translation></translation>
</message>
<message>
<source>IgnoreConfirmMsg</source>
<translation> {} ?</translation>
</message>
<message>
<source>SelectCopyOrMoveDestinationMsg</source>
<translation> {} ...</translation>
</message>
<message>
<source>FileRemovalConfirmMsg</source>
<translation> {} ?</translation>
</message>
<message>
<source>NoCustomCommandMsg</source>
<translation></translation>
</message>
<message>
<source>OperationSuccessMsg</source>
<translation></translation>
</message>
<message>
<source>NoDuplicateFoundMsg</source>
<translation></translation>
</message>
<message>
<source>ReallyWantToQuitMsg</source>
<translation>退?</translation>
</message>
<message>
<source>SelectFolderToAddMsg</source>
<translation></translation>
</message>
<message>
<source>SelectResultToLoadMsg</source>
<translation></translation>
</message>
<message>
<source>ReallyWantToContinueMsg</source>
<translation>?</translation>
</message>
<message>
<source>NoScannableFileMsg</source>
<translation></translation>
</message>
<message>
<source>ProblemsDuringProcessingMsg</source>
<translation></translation>
</message>
<message>
<source>TypeFilterMsg</source>
<translation></translation>
</message>
<message>
<source>NothingToClearMsg</source>
<translation></translation>
</message>
<message>
<source>ClearIgnoreListConfirmMsg</source>
<translation> {} ?</translation>
</message>
<message>
<source>IgnoreListClearedMsg</source>
<translation></translation>
</message>
<message>
<source>SendToTrashConfirmMsg</source>
<translation> {} ?</translation>
</message>
<message>
<source>HardlinkConfirmMsg</source>
<translation> {} ?</translation>
</message>
<message>
<source>SelectResultToSaveMsg</source>
<translation></translation>
</message>
<message>
<source>NeedsToRestartToApplyLangMsg</source>
<translation>dupeGuru将重新启动以使语言修改生效</translation>
</message>
<message>
<source>ClearPictureCacheConfirmMsg</source>
<translation>?</translation>
</message>
<message>
<source>PictureCacheClearedMsg</source>
<translation></translation>
</message>
</context>
</TS>

View File

@@ -68,7 +68,7 @@ class PreferencesDialog(PreferencesDialogBase):
self.verticalLayout_4.addLayout(self.horizontalLayout_2) self.verticalLayout_4.addLayout(self.horizontalLayout_2)
self._setupAddCheckbox('ignoreHardlinkMatches', tr("Ignore duplicates hardlinking to the same file"), self.widget) self._setupAddCheckbox('ignoreHardlinkMatches', tr("Ignore duplicates hardlinking to the same file"), self.widget)
self.verticalLayout_4.addWidget(self.ignoreHardlinkMatches) self.verticalLayout_4.addWidget(self.ignoreHardlinkMatches)
self._setupAddCheckbox('debugModeBox', tr(tr("Debug mode (restart required)")), self.widget) self._setupAddCheckbox('debugModeBox', tr("Debug mode (restart required)"), self.widget)
self.verticalLayout_4.addWidget(self.debugModeBox) self.verticalLayout_4.addWidget(self.debugModeBox)
self.widgetsVLayout.addWidget(self.widget) self.widgetsVLayout.addWidget(self.widget)
self._setupBottomPart() self._setupBottomPart()