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

[#32] Internationalized the cocoa layer and localized it to french.

--HG--
rename : cocoa/base/xib/DetailsPanel.xib => cocoa/base/en.lproj/DetailsPanel.xib
rename : cocoa/base/xib/DirectoryPanel.xib => cocoa/base/en.lproj/DirectoryPanel.xib
rename : cocoa/base/xib/MainMenu.xib => cocoa/base/en.lproj/MainMenu.xib
rename : cocoa/base/xib/ProblemDialog.xib => cocoa/base/en.lproj/ProblemDialog.xib
rename : cocoa/base/xib/ResultWindow.xib => cocoa/base/en.lproj/ResultWindow.xib
rename : cocoa/me/xib/Preferences.xib => cocoa/me/en.lproj/Preferences.xib
rename : cocoa/pe/xib/DetailsPanel.xib => cocoa/pe/en.lproj/DetailsPanel.xib
rename : cocoa/pe/xib/Preferences.xib => cocoa/pe/en.lproj/Preferences.xib
rename : cocoa/se/xib/Preferences.xib => cocoa/se/en.lproj/Preferences.xib
This commit is contained in:
Virgil Dupras
2011-01-18 15:35:14 +01:00
parent e7d26e3f82
commit 04d7880a0c
55 changed files with 19647 additions and 364 deletions

View File

@@ -85,7 +85,7 @@ http://www.hardcoded.net/licenses/bsd_license
[op setCanCreateDirectories:NO];
[op setAllowsMultipleSelection:NO];
[op setAllowedFileTypes:[NSArray arrayWithObject:@"dupeguru"]];
[op setTitle:@"Select a results file to load"];
[op setTitle:TR(@"SelectResultToLoadMsg")];
if ([op runModal] == NSOKButton) {
NSString *filename = [[op filenames] objectAtIndex:0];
[py loadResultsFrom:filename];
@@ -164,7 +164,7 @@ http://www.hardcoded.net/licenses/bsd_license
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
{
if ([py resultsAreModified]) {
NSString *msg = @"You have unsaved results, do you really want to quit?";
NSString *msg = TR(@"ReallyWantToQuitMsg");
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) { // NO
return NSTerminateCancel;
}

View File

@@ -15,4 +15,6 @@ http://www.hardcoded.net/licenses/bsd_license
#define jobScan @"job_scan"
#define jobCopy @"job_copy"
#define jobMove @"job_move"
#define jobDelete @"job_delete"
#define jobDelete @"job_delete"
#define TR(s) NSLocalizedString(s, @"")

View File

@@ -10,6 +10,7 @@ http://www.hardcoded.net/licenses/bsd_license
#import "Dialogs.h"
#import "Utils.h"
#import "AppDelegate.h"
#import "Consts.h"
@implementation DirectoryPanel
- (id)initWithParentApp:(AppDelegateBase *)aParentApp
@@ -41,7 +42,7 @@ http://www.hardcoded.net/licenses/bsd_license
- (void)fillPopUpMenu
{
NSMenu *m = [addButtonPopUp menu];
NSMenuItem *mi = [m addItemWithTitle:@"Add New Folder..." action:@selector(askForDirectory:) keyEquivalent:@""];
NSMenuItem *mi = [m addItemWithTitle:TR(@"Add New Folder...") action:@selector(askForDirectory:) keyEquivalent:@""];
[mi setTarget:self];
[m addItem:[NSMenuItem separatorItem]];
}
@@ -54,7 +55,7 @@ http://www.hardcoded.net/licenses/bsd_license
[op setCanChooseFiles:YES];
[op setCanChooseDirectories:YES];
[op setAllowsMultipleSelection:YES];
[op setTitle:@"Select a folder to add to the scanning list"];
[op setTitle:TR(@"SelectFolderToAddMsg")];
[op setDelegate:self];
if ([op runModal] == NSOKButton) {
for (NSString *directory in [op filenames]) {
@@ -81,7 +82,7 @@ http://www.hardcoded.net/licenses/bsd_license
while ([m numberOfItems] > 0) {
[m removeItemAtIndex:0];
}
NSMenuItem *mi = [m addItemWithTitle:@"Load from file..." action:@selector(loadResults:) keyEquivalent:@""];
NSMenuItem *mi = [m addItemWithTitle:TR(@"Load from file...") action:@selector(loadResults:) keyEquivalent:@""];
[mi setTarget:_app];
[m addItem:[NSMenuItem separatorItem]];
[[_app recentResults] fillMenu:m];
@@ -118,10 +119,10 @@ http://www.hardcoded.net/licenses/bsd_license
if (r) {
NSString *m = @"";
if (r == 1) {
m = @"'%@' already is in the list.";
m = TR(@"FolderAlreadyInListMsg");
}
else if (r == 2) {
m = @"'%@' does not exist.";
m = TR(@"FolderDoesNotExistMsg");
}
[Dialogs showMessage:[NSString stringWithFormat:m,directory]];
}

View File

@@ -68,7 +68,8 @@ http://www.hardcoded.net/licenses/bsd_license
NSInteger selectedDupeCount = [self selectedDupeCount];
if (!selectedDupeCount)
return;
NSString *msg = [NSString stringWithFormat:@"You are about to remove %d files from results. Continue?",selectedDupeCount];
NSString *msgFmt = TR(@"FileRemovalConfirmMsg");
NSString *msg = [NSString stringWithFormat:msgFmt,selectedDupeCount];
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
return;
[[self py] removeSelected];
@@ -97,7 +98,7 @@ http://www.hardcoded.net/licenses/bsd_license
if (![newName isEqual:oldName]) {
BOOL renamed = [[self py] renameSelected:newName];
if (!renamed) {
[Dialogs showMessage:[NSString stringWithFormat:@"The name '%@' already exists.", newName]];
[Dialogs showMessage:[NSString stringWithFormat:TR(@"FilenameAlreadyExistsMsg"), newName]];
}
else {
[tableView setNeedsDisplay:YES];

View File

@@ -59,9 +59,9 @@ http://www.hardcoded.net/licenses/bsd_license
return nil;
}
if (errorCode == 3) {
return @"The selected directories contain no scannable file.";
return TR(@"NoScannableFileMsg");
}
return @"Unknown Error.";
return TR(@"UnknownErrorMsg");
}
/* Helpers */
@@ -77,7 +77,8 @@ http://www.hardcoded.net/licenses/bsd_license
[mi setState:NSOnState];
}
[columnsMenu addItem:[NSMenuItem separatorItem]];
NSMenuItem *mi = [columnsMenu addItemWithTitle:@"Reset to Default" action:@selector(resetColumnsToDefault:) keyEquivalent:@""];
NSMenuItem *mi = [columnsMenu addItemWithTitle:TR(@"Reset to Default")
action:@selector(resetColumnsToDefault:) keyEquivalent:@""];
[mi setTarget:self];
}
@@ -145,9 +146,9 @@ http://www.hardcoded.net/licenses/bsd_license
if (!mark_count) {
return;
}
NSString *msg = @"You are about to send %d files to Trash. Continue?";
NSString *msg = TR(@"SendToTrashConfirmMsg");
if (hardlinkDeleted) {
msg = @"You are about to send %d files to Trash (and hardlink them afterwards). Continue?";
msg = TR(@"HardlinkConfirmMsg");
}
if ([Dialogs askYesNo:[NSString stringWithFormat:msg,mark_count]] == NSAlertSecondButtonReturn) { // NO
return;
@@ -175,7 +176,8 @@ http://www.hardcoded.net/licenses/bsd_license
NSInteger i = n2i([py getIgnoreListCount]);
if (!i)
return;
if ([Dialogs askYesNo:[NSString stringWithFormat:@"Do you really want to remove all %d items from the ignore list?",i]] == NSAlertSecondButtonReturn) // NO
NSString *msg = [NSString stringWithFormat:TR(@"ClearIgnoreListConfirmMsg"),i];
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
return;
[py clearIgnoreList];
}
@@ -204,9 +206,8 @@ http://www.hardcoded.net/licenses/bsd_license
[op setCanChooseDirectories:YES];
[op setCanCreateDirectories:YES];
[op setAllowsMultipleSelection:NO];
[op setTitle:@"Select a directory to copy marked files to"];
if ([op runModalForTypes:nil] == NSOKButton)
{
[op setTitle:TR(@"SelectCopyDestinationMsg")];
if ([op runModal] == NSOKButton) {
NSString *directory = [[op filenames] objectAtIndex:0];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
[py copyOrMove:b2n(YES) markedTo:directory recreatePath:[ud objectForKey:@"recreatePathType"]];
@@ -241,7 +242,7 @@ http://www.hardcoded.net/licenses/bsd_license
NSInteger selectedDupeCount = [table selectedDupeCount];
if (!selectedDupeCount)
return;
NSString *msg = [NSString stringWithFormat:@"All selected %d matches are going to be ignored in all subsequent scans. Continue?",selectedDupeCount];
NSString *msg = [NSString stringWithFormat:TR(@"IgnoreConfirmMsg"),selectedDupeCount];
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
return;
[py addSelectedToIgnoreList];
@@ -255,7 +256,7 @@ http://www.hardcoded.net/licenses/bsd_license
[py invokeCommand:cmd];
}
else {
[Dialogs showMessage:@"You have no custom command set up. Set it up in your preferences."];
[Dialogs showMessage:TR(@"NoCustomCommandMsg")];
}
}
@@ -289,9 +290,8 @@ http://www.hardcoded.net/licenses/bsd_license
[op setCanChooseDirectories:YES];
[op setCanCreateDirectories:YES];
[op setAllowsMultipleSelection:NO];
[op setTitle:@"Select a directory to move marked files to"];
if ([op runModalForTypes:nil] == NSOKButton)
{
[op setTitle:TR(@"SelectMoveDestinationMsg")];
if ([op runModal] == NSOKButton) {
NSString *directory = [[op filenames] objectAtIndex:0];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
[py setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])];
@@ -318,7 +318,8 @@ http://www.hardcoded.net/licenses/bsd_license
int mark_count = [[py getMarkCount] intValue];
if (!mark_count)
return;
if ([Dialogs askYesNo:[NSString stringWithFormat:@"You are about to remove %d files from results. Continue?",mark_count]] == NSAlertSecondButtonReturn) // NO
NSString *msg = [NSString stringWithFormat:@"You are about to remove %d files from results. Continue?",mark_count];
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
return;
[py removeMarked];
}
@@ -350,7 +351,7 @@ http://www.hardcoded.net/licenses/bsd_license
NSSavePanel *sp = [NSSavePanel savePanel];
[sp setCanCreateDirectories:YES];
[sp setAllowedFileTypes:[NSArray arrayWithObject:@"dupeguru"]];
[sp setTitle:@"Select a file to save your results to"];
[sp setTitle:TR(@"SelectResultToSaveMsg")];
if ([sp runModal] == NSOKButton) {
[py saveResultsAs:[sp filename]];
[[app recentResults] addFile:[sp filename]];
@@ -360,7 +361,7 @@ http://www.hardcoded.net/licenses/bsd_license
- (IBAction)startDuplicateScan:(id)sender
{
if ([py resultsAreModified]) {
if ([Dialogs askYesNo:@"You have unsaved results, do you really want to continue?"] == NSAlertSecondButtonReturn) // NO
if ([Dialogs askYesNo:TR(@"ReallyWantToContinueMsg")] == NSAlertSecondButtonReturn) // NO
return;
}
[self setScanOptions];
@@ -382,15 +383,13 @@ http://www.hardcoded.net/licenses/bsd_license
NSMenuItem *mi = sender;
NSString *colId = [NSString stringWithFormat:@"%d",[mi tag]];
NSTableColumn *col = [matches tableColumnWithIdentifier:colId];
if (col == nil)
{
if (col == nil) {
//Add Column
col = [_resultColumns objectAtIndex:[mi tag]];
[matches addTableColumn:col];
[mi setState:NSOnState];
}
else
{
else {
//Remove column
[matches removeTableColumn:col];
[mi setState:NSOffState];
@@ -424,7 +423,7 @@ http://www.hardcoded.net/licenses/bsd_license
[problemDialog showWindow:self];
}
else {
[Dialogs showMessage:@"All marked files were copied sucessfully."];
[Dialogs showMessage:TR(@"CopySuccessMsg")];
}
}
else if ([lastAction isEqualTo:jobMove]) {
@@ -432,7 +431,7 @@ http://www.hardcoded.net/licenses/bsd_license
[problemDialog showWindow:self];
}
else {
[Dialogs showMessage:@"All marked files were moved sucessfully."];
[Dialogs showMessage:TR(@"MoveSuccessMsg")];
}
}
else if ([lastAction isEqualTo:jobDelete]) {
@@ -440,19 +439,20 @@ http://www.hardcoded.net/licenses/bsd_license
[problemDialog showWindow:self];
}
else {
[Dialogs showMessage:@"All marked files were sucessfully sent to Trash."];
[Dialogs showMessage:TR(@"SendToTrashSuccessMsg")];
}
}
else if ([lastAction isEqualTo:jobScan]) {
NSInteger rowCount = [[table py] numberOfRows];
if (rowCount == 0)
[Dialogs showMessage:@"No duplicates found."];
if (rowCount == 0) {
[Dialogs showMessage:TR(@"NoDuplicateFoundMsg")];
}
}
}
- (void)jobInProgress:(NSNotification *)aNotification
{
[Dialogs showMessage:@"A previous action is still hanging in there. You can't start a new one yet. Wait a few seconds, then try again."];
[Dialogs showMessage:TR(@"TaskHangingMsg")];
}
- (void)jobStarted:(NSNotification *)aNotification

Binary file not shown.

Binary file not shown.

View File

@@ -36,7 +36,7 @@
<object class="NSWindowTemplate" id="970147395">
<int key="NSWindowStyleMask">11</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{387, 265}, {369, 294}}</string>
<string key="NSWindowRect">{{387, 265}, {395, 294}}</string>
<int key="NSWTFlags">1886913536</int>
<string key="NSWindowTitle">dupeGuru</string>
<string key="NSWindowClass">NSWindow</string>
@@ -63,13 +63,13 @@
<object class="NSOutlineView" id="10140319">
<reference key="NSNextResponder" ref="514281221"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{327, 183}</string>
<string key="NSFrameSize">{353, 183}</string>
<reference key="NSSuperview" ref="514281221"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="885660940">
<reference key="NSNextResponder" ref="395832192"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{327, 17}</string>
<string key="NSFrameSize">{353, 17}</string>
<reference key="NSSuperview" ref="395832192"/>
<reference key="NSTableView" ref="10140319"/>
</object>
@@ -83,7 +83,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableColumn" id="547470852">
<string key="NSIdentifier">name</string>
<double key="NSWidth">236</double>
<double key="NSWidth">262</double>
<double key="NSMinWidth">16</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
@@ -236,7 +236,7 @@
<int key="NSTableViewDraggingDestinationStyle">0</int>
</object>
</object>
<string key="NSFrame">{{1, 17}, {327, 183}}</string>
<string key="NSFrame">{{1, 17}, {353, 183}}</string>
<reference key="NSSuperview" ref="242279311"/>
<reference key="NSNextKeyView" ref="10140319"/>
<reference key="NSDocView" ref="10140319"/>
@@ -269,7 +269,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="885660940"/>
</object>
<string key="NSFrame">{{1, 0}, {327, 17}}</string>
<string key="NSFrame">{{1, 0}, {353, 17}}</string>
<reference key="NSSuperview" ref="242279311"/>
<reference key="NSNextKeyView" ref="885660940"/>
<reference key="NSDocView" ref="885660940"/>
@@ -278,7 +278,7 @@
</object>
<reference ref="950325122"/>
</object>
<string key="NSFrame">{{20, 48}, {329, 201}}</string>
<string key="NSFrame">{{20, 48}, {355, 201}}</string>
<reference key="NSSuperview" ref="53314480"/>
<reference key="NSNextKeyView" ref="514281221"/>
<int key="NSsFlags">562</int>
@@ -374,7 +374,7 @@
<object class="NSButton" id="580397230">
<reference key="NSNextResponder" ref="53314480"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{262, 12}, {93, 32}}</string>
<string key="NSFrame">{{261, 12}, {120, 32}}</string>
<reference key="NSSuperview" ref="53314480"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="799888482">
@@ -443,7 +443,7 @@
<object class="NSTextField" id="186572573">
<reference key="NSNextResponder" ref="53314480"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{17, 257}, {251, 17}}</string>
<string key="NSFrame">{{17, 257}, {361, 17}}</string>
<reference key="NSSuperview" ref="53314480"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="293396843">
@@ -464,7 +464,7 @@
<object class="NSButton" id="84918337">
<reference key="NSNextResponder" ref="53314480"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{144, 12}, {120, 32}}</string>
<string key="NSFrame">{{141, 12}, {120, 32}}</string>
<reference key="NSSuperview" ref="53314480"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="1017656049">
@@ -482,7 +482,7 @@
</object>
</object>
</object>
<string key="NSFrameSize">{369, 294}</string>
<string key="NSFrameSize">{395, 294}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
@@ -622,11 +622,11 @@
<reference ref="186572573"/>
<reference ref="242279311"/>
<reference ref="1031103869"/>
<reference ref="580397230"/>
<reference ref="827813955"/>
<reference ref="888784157"/>
<reference ref="84918337"/>
<reference ref="286019300"/>
<reference ref="580397230"/>
<reference ref="84918337"/>
</object>
<reference key="parent" ref="970147395"/>
</object>
@@ -935,16 +935,16 @@
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDgwAAwjAAAA</bytes>
<bytes key="NSTransformStruct">P4AAAL+AAABDhgAAwigAAA</bytes>
</object>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>{{163, 484}, {369, 294}}</string>
<string>{{163, 484}, {395, 294}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{163, 484}, {369, 294}}</string>
<string>{{163, 484}, {395, 294}}</string>
<boolean value="YES"/>
<boolean value="YES"/>
<string>{369, 269}</string>
@@ -980,7 +980,7 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDHAAAwigAAA</bytes>
<bytes key="NSTransformStruct">P4AAAL+AAABDFAAAwigAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>

View File

@@ -0,0 +1,63 @@
"Add New Folder..." = "Add New Folder...";
"Load from file..." = "Load from file...";
"Reset to Default" = "Reset to Default";
"Add iTunes Directory" = "Add iTunes Directory";
"Remove Dead Tracks in iTunes" = "Remove Dead Tracks in iTunes";
"Add iPhoto Library" = "Add iPhoto Library";
"Clear Picture Cache" = "Clear Picture Cache";
/* Columns */
"Folder" = "Folder";
"Size (KB)" = "Size (KB)";
"Size (MB)" = "Size (MB)";
"Kind" = "Kind";
"Modification" = "Modification";
"Match %" = "Match %";
"Words Used" = "Words Used";
"Dupe Count" = "Dupe Count";
"Time" = "Time";
"Bitrate" = "Bitrate";
"Sample Rate" = "Sample Rate";
"Title" = "Title";
"Artist" = "Artist";
"Album" = "Album";
"Genre" = "Genre";
"Year" = "Year";
"Track Number" = "Track Number";
"Comment" = "Comment";
"Dimensions" = "Dimensions";
/* Messages */
"SelectResultToLoadMsg" = "Select a results file to load";
"SelectCopyDestinationMsg" = "Select a directory to copy marked files to";
"SelectMoveDestinationMsg" = "Select a directory to move marked files to";
"SelectResultToSaveMsg" = "Select a file to save your results to";
"SelectFolderToAddMsg" = "Select a folder to add to the scanning list";
"ReallyWantToQuitMsg" = "You have unsaved results, do you really want to quit?";
"ReallyWantToContinueMsg" = "You have unsaved results, do you really want to continue?";
"FolderAlreadyInListMsg" = "'%@' already is in the list.";
"FolderDoesNotExistMsg" = "'%@' does not exist.";
"FileRemovalConfirmMsg" = "You are about to remove %d files from results. Continue?";
"FilenameAlreadyExistsMsg" = "The name '%@' already exists.";
"NoScannableFileMsg" = "The selected directories contain no scannable file.";
"UnknownErrorMsg" = "Unknown Error.";
"SendToTrashConfirmMsg" = "You are about to send %d files to Trash. Continue?";
"HardlinkConfirmMsg" = "You are about to send %d files to Trash (and hardlink them afterwards). Continue?";
"ClearIgnoreListConfirmMsg" = "Do you really want to remove all %d items from the ignore list?";
"IgnoreConfirmMsg" = "All selected %d matches are going to be ignored in all subsequent scans. Continue?";
"NoCustomCommandMsg" = "You have no custom command set up. Set it up in your preferences.";
"CopySuccessMsg" = "All marked files were copied sucessfully.";
"MoveSuccessMsg" = "All marked files were moved sucessfully.";
"SendToTrashSuccessMsg" = "All marked files were sucessfully sent to Trash.";
"NoDuplicateFoundMsg" = "No duplicates found.";
"TaskHangingMsg" = "A previous action is still hanging in there. You can't start a new one yet. Wait a few seconds, then try again.";
"RemoveDeadTracksConfirmMsg" = "Your iTunes Library contains %d dead tracks ready to be removed. Continue?";
"NoDeadTrackMsg" = "You have no dead tracks in your iTunes Library";
"IPhotoAppNotFoundMsg" = "The iPhoto application couldn't be found.";
"ClearPictureCacheConfirmMsg" = "Do you really want to remove all your cached picture analysis?";

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,63 @@
"Add New Folder..." = "Ajouter dossier...";
"Load from file..." = "Charger un fichier...";
"Reset to Default" = "Colonnes par défault";
"Add iTunes Directory" = "Ajouter librairie iTunes";
"Remove Dead Tracks in iTunes" = "Retirer les tracks mortes dans iTunes";
"Add iPhoto Library" = "Ajouter librairie iPhoto";
"Clear Picture Cache" = "Vider la cache d'images";
/* Columns */
"Folder" = "Dossier";
"Size (KB)" = "Taille (KB)";
"Size (MB)" = "Taille (MB)";
"Kind" = "Type";
"Modification" = "Modification";
"Match %" = "Match %";
"Words Used" = "Mots";
"Dupe Count" = "# Doublons";
"Time" = "Temps";
"Bitrate" = "Bitrate";
"Sample Rate" = "Sample Rate";
"Title" = "Titre";
"Artist" = "Artiste";
"Album" = "Album";
"Genre" = "Genre";
"Year" = "Année";
"Track Number" = "Track";
"Comment" = "Commentaire";
"Dimensions" = "Dimensions";
/* Messages */
"SelectResultToLoadMsg" = "Sélectionnez un fichier résultats à charger";
"SelectCopyDestinationMsg" = "Sélectionnez un dossier vers lequel copier les fichiers";
"SelectMoveDestinationMsg" = "Sélectionnez un dossier vers lequel déplacer les fichiers";
"SelectResultToSaveMsg" = "Sélectionnez un fichier résultats dans lequel sauvegarder";
"SelectFolderToAddMsg" = "Sélectionnez un dossier à ajouter à la liste";
"ReallyWantToQuitMsg" = "Vos résultats ne sont pas sauvegardés. Voulez-vous vraiment quitter?";
"ReallyWantToContinueMsg" = "Vos résultats ne sont pas sauvegardés. Voulez-vous vraiment continuer?";
"FolderAlreadyInListMsg" = "'%@' est déjà dans la liste.";
"FolderDoesNotExistMsg" = "'%@' n'existe pas.";
"FileRemovalConfirmMsg" = "%d fichiers seront retirés des résultats. Continuer?";
"FilenameAlreadyExistsMsg" = "Le nom '%@' existe déjà.";
"NoScannableFileMsg" = "Les dossiers sélectionnés ne continnent pas de fichiers valides.";
"UnknownErrorMsg" = "Erreur inconnue.";
"SendToTrashConfirmMsg" = "%d fichiers seront envoyés à la corbeille. Continuer?";
"HardlinkConfirmMsg" = "%d fichiers seront envoyés à la corbeille (puis 'hardlinkés'). Continuer?";
"ClearIgnoreListConfirmMsg" = "Voulez-vous vider la liste de fichiers ignorés des %d items qu'elle contient?";
"IgnoreConfirmMsg" = "%d fichiers seront ignorés des prochains scans. Continuer?";
"NoCustomCommandMsg" = "Vous n'avez pas de commande personnalisée. Ajoutez-la dans vos préférences.";
"CopySuccessMsg" = "Tous les fichiers marqués ont été copiés correctement.";
"MoveSuccessMsg" = "Tous les fichiers déplacés ont été copiés correctement.";
"SendToTrashSuccessMsg" = "Tous les fichiers marqués ont été correctement envoyés à la corbeille.";
"NoDuplicateFoundMsg" = "Aucun doublon trouvé.";
"TaskHangingMsg" = "Une action précédente est encore en cours. Attendez quelques secondes avant d'en repartir une nouvelle.";
"RemoveDeadTracksConfirmMsg" = "Votre librairie iTunes contient %d tracks mortes qui seront retirées. Continuer?";
"NoDeadTrackMsg" = "Votre librairie iTunes ne contient aucune track morte.";
"IPhotoAppNotFoundMsg" = "iPhoto n'a pas pu être trouvée dans vos applications.";
"ClearPictureCacheConfirmMsg" = "Voulez-vous vraiment vider la cache de vos analyses précédentes?";

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff