From 24e45b74e9d8ad278c79330aa627a7e5a4368be8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 25 Jun 2014 19:34:03 +0200 Subject: [PATCH] Updated translations Added note to run auto type fix for any newly opened file --- MacPass.xcodeproj/project.pbxproj | 8 +- MacPass/EntryView.xib | 30 ++++-- MacPass/MPAutotypeDaemon.m | 13 ++- MacPass/MPDocumentWindowController.h | 2 +- MacPass/MPDocumentWindowController.m | 62 ++++++------ MacPass/MPDocumentWindowDelegate.m | 1 + MacPass/MPEntryViewController.m | 22 +++++ MacPass/MPSettingsHelper.h | 1 + MacPass/MPSettingsHelper.m | 57 +++++------ MacPass/de.lproj/Localizable.strings | Bin 9754 -> 9940 bytes MacPass/de.lproj/MainMenu.strings | 110 ++++++++++++++-------- MacPass/en.lproj/Localizable.strings | Bin 9170 -> 9336 bytes MacPass/en.lproj/MainMenu.strings | 30 ++++++ MacPass/fr.lproj/Localizable.strings | Bin 9888 -> 10054 bytes MacPass/nl.lproj/Localizable.strings | Bin 9798 -> 9966 bytes MacPass/zh-Hans.lproj/Localizable.strings | 8 +- 16 files changed, 227 insertions(+), 117 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 09c0d2da..8b73c84c 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -436,6 +436,8 @@ 4C1E9884185F71A800943563 /* MPContextBarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPContextBarViewController.m; sourceTree = ""; }; 4C1FA07918231900003A3F8C /* MPDocument+Autotype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPDocument+Autotype.h"; sourceTree = ""; }; 4C1FA07A18231900003A3F8C /* MPDocument+Autotype.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Autotype.m"; sourceTree = ""; }; + 4C21F29D195B39B9002D610D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainMenu.strings; sourceTree = ""; }; + 4C21F29F195B3A48002D610D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainMenu.strings; sourceTree = ""; }; 4C224B4017DFCB2300FF6AEE /* MPNumericalInputFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPNumericalInputFormatter.h; sourceTree = ""; }; 4C224B4117DFCB2400FF6AEE /* MPNumericalInputFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNumericalInputFormatter.m; sourceTree = ""; }; 4C245A69176E1E3C0086100E /* DDData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDData.h; sourceTree = ""; }; @@ -761,7 +763,6 @@ 4CA3530918A53CB800839B0F /* MPKeyMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPKeyMapper.h; sourceTree = ""; }; 4CA3530A18A53CB800839B0F /* MPKeyMapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPKeyMapper.m; sourceTree = ""; }; 4CA3531118A5577300839B0F /* dsa_sparkle_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dsa_sparkle_pub.pem; sourceTree = ""; }; - 4CAAFDD51787AED60013FCF9 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainMenu.strings; sourceTree = ""; }; 4CAC614217AD319200023F9E /* KPKTestXmlParsing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestXmlParsing.m; sourceTree = ""; }; 4CAD745615B887FD00104512 /* DDXMLElementAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDXMLElementAdditions.h; sourceTree = ""; }; 4CAD745715B887FD00104512 /* DDXMLElementAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDXMLElementAdditions.m; sourceTree = ""; }; @@ -973,7 +974,7 @@ BD6C366019484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/GroupInspectorView.strings; sourceTree = ""; }; BD6C366119484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/EntryInspectorView.strings; sourceTree = ""; }; BD6C366219484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/DatePickingView.strings; sourceTree = ""; }; - BD6C366319484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + BD6C366319484CF40089EB37 /* nl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; BD6C366419484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = nl; path = nl.lproj/Credits.rtf; sourceTree = ""; }; BD6C366519484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; BD6C366619484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/KPKLocalizeable.strings; sourceTree = ""; }; @@ -2543,10 +2544,11 @@ isa = PBXVariantGroup; children = ( 4C7615601764C05A0015A1A6 /* Base */, - 4CAAFDD51787AED60013FCF9 /* en */, 4C5CD34617D15912000B7F38 /* fr */, 601F811218E016340028F3DE /* zh-Hans */, BD6C365C19484CF40089EB37 /* nl */, + 4C21F29D195B39B9002D610D /* en */, + 4C21F29F195B3A48002D610D /* de */, ); name = MainMenu.xib; sourceTree = ""; diff --git a/MacPass/EntryView.xib b/MacPass/EntryView.xib index 8a5bf319..69186fbd 100644 --- a/MacPass/EntryView.xib +++ b/MacPass/EntryView.xib @@ -1,8 +1,8 @@ - + - + @@ -10,6 +10,7 @@ + @@ -48,11 +49,11 @@ - + - + @@ -86,7 +87,7 @@ - + @@ -137,11 +138,11 @@ - + - + @@ -175,7 +176,7 @@ - + @@ -213,7 +214,7 @@ - + @@ -270,11 +271,22 @@ + + + diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index c3dbc2c1..b0a0839f 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -26,6 +26,11 @@ NSString *const kMPWindowTitleKey = @"windowTitle"; NSString *const kMPApplciationNameKey = @"applicationName"; +/* + Enabel to activate autotype +#define MP_AUTOTYPE +*/ + @interface MPAutotypeDaemon () @property (nonatomic, assign) BOOL enabled; @@ -43,7 +48,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; self = [super init]; if (self) { _enabled = NO; - [self bind:@"enabled" + [self bind:NSStringFromSelector(@selector(enabled)) toObject:[NSUserDefaultsController sharedUserDefaultsController] withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableGlobalAutotype] options:nil]; @@ -52,7 +57,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; } - (void)dealloc { - [self unbind:@"enabled"]; + [self unbind:NSStringFromSelector(@selector(enabled))]; } #pragma mark - @@ -61,7 +66,9 @@ NSString *const kMPApplciationNameKey = @"applicationName"; - (void)setEnabled:(BOOL)enabled { if(_enabled != enabled) { _enabled = enabled; +#ifdef MP_AUTOTYPE self.enabled ? [self _registerHotKey] : [self _unregisterHotKey]; +#endif } } @@ -184,7 +191,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; NSNumber *processId = windowDict[(NSString *)kCGWindowOwnerPID]; if(processId && [processId isEqualToNumber:@(frontApplication.processIdentifier)]) { return @{ - kMPWindowTitleKey:windowDict[(NSString *)kCGWindowName], + kMPWindowTitleKey: windowDict[(NSString *)kCGWindowName], kMPApplciationNameKey : name }; } diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index 9ad66d90..024d0ea3 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -50,7 +50,7 @@ - (IBAction)pickExpiryDate:(id)sender; #pragma mark Helper -- (void)fixAutotype:(id)sender; +- (IBAction)fixAutotype:(id)sender; #pragma mark View Actions - (IBAction)toggleInspector:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 66a852e6..3dcfa8b3 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -86,15 +86,15 @@ typedef void (^MPPasswordChangedBlock)(void); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didRevertDocument:) name:MPDocumentDidRevertNotifiation object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showEntries) name:MPDocumentDidUnlockDatabaseNotification object:document]; - [_entryViewController regsiterNotificationsForDocument:document]; - [_inspectorViewController regsiterNotificationsForDocument:document]; - [_outlineViewController regsiterNotificationsForDocument:document]; - [_toolbarDelegate registerNotificationsForDocument:document]; + [self.entryViewController regsiterNotificationsForDocument:document]; + [self.inspectorViewController regsiterNotificationsForDocument:document]; + [self.outlineViewController regsiterNotificationsForDocument:document]; + [self.toolbarDelegate registerNotificationsForDocument:document]; - _toolbar = [[NSToolbar alloc] initWithIdentifier:@"MainWindowToolbar"]; - [_toolbar setAutosavesConfiguration:YES]; + self.toolbar = [[NSToolbar alloc] initWithIdentifier:@"MainWindowToolbar"]; + [self.toolbar setAutosavesConfiguration:YES]; [self.toolbar setAllowsUserCustomization:YES]; [self.toolbar setDelegate:self.toolbarDelegate]; [self.window setToolbar:self.toolbar]; @@ -102,15 +102,15 @@ typedef void (^MPPasswordChangedBlock)(void); [self.splitView setTranslatesAutoresizingMaskIntoConstraints:NO]; - NSView *outlineView = [_outlineViewController view]; - NSView *inspectorView = [_inspectorViewController view]; - NSView *entryView = [_entryViewController view]; - [_splitView addSubview:outlineView]; - [_splitView addSubview:entryView]; - [_splitView addSubview:inspectorView]; + NSView *outlineView = [self.outlineViewController view]; + NSView *inspectorView = [self.inspectorViewController view]; + NSView *entryView = [self.entryViewController view]; + [self.splitView addSubview:outlineView]; + [self.splitView addSubview:entryView]; + [self.splitView addSubview:inspectorView]; - [_splitView setHoldingPriority:NSLayoutPriorityDefaultLow+2 forSubviewAtIndex:0]; - [_splitView setHoldingPriority:NSLayoutPriorityDefaultLow+1 forSubviewAtIndex:2]; + [self.splitView setHoldingPriority:NSLayoutPriorityDefaultLow+2 forSubviewAtIndex:0]; + [self.splitView setHoldingPriority:NSLayoutPriorityDefaultLow+1 forSubviewAtIndex:2]; BOOL showInspector = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyShowInspector]; if(!showInspector) { @@ -124,7 +124,7 @@ typedef void (^MPPasswordChangedBlock)(void); [self showEntries]; } - [_splitView setAutosaveName:@"SplitView"]; + [self.splitView setAutosaveName:@"SplitView"]; } - (NSSearchField *)searchField { @@ -291,11 +291,11 @@ typedef void (^MPPasswordChangedBlock)(void); } - (void)createGroup:(id)sender { - [_outlineViewController createGroup:nil]; + [self.outlineViewController createGroup:nil]; } - (void)createEntry:(id)sender { - [_outlineViewController createEntry:nil]; + [self.outlineViewController createEntry:nil]; } - (void)pickIcon:(id)sender { @@ -307,14 +307,14 @@ typedef void (^MPPasswordChangedBlock)(void); } - (void)toggleInspector:(id)sender { - NSView *inspectorView = [_inspectorViewController view]; + NSView *inspectorView = [self.inspectorViewController view]; BOOL inspectorWasVisible = [self _isInspectorVisible]; if(inspectorWasVisible) { [inspectorView removeFromSuperview]; } else { - [_splitView addSubview:inspectorView]; - [_splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[inspectorView(>=200)]" + [self.splitView addSubview:inspectorView]; + [self.splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[inspectorView(>=200)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(inspectorView)]]; @@ -341,16 +341,16 @@ typedef void (^MPPasswordChangedBlock)(void); - (void)showEntries { NSView *contentView = [[self window] contentView]; - if(_splitView == contentView) { + if(self.splitView == contentView) { return; // We are displaying the entries already } if([[contentView subviews] count] == 1) { [[contentView subviews][0] removeFromSuperviewWithoutNeedingDisplay]; } - [contentView addSubview:_splitView]; - NSView *outlineView = [_outlineViewController view]; - NSView *inspectorView = [_inspectorViewController view]; - NSView *entryView = [_entryViewController view]; + [contentView addSubview:self.splitView]; + NSView *outlineView = [self.outlineViewController view]; + NSView *inspectorView = [self.inspectorViewController view]; + NSView *entryView = [self.entryViewController view]; /* The current easy way to prevent layout hickups is to add the inspect @@ -358,7 +358,7 @@ typedef void (^MPPasswordChangedBlock)(void); */ BOOL removeInspector = NO; if(![inspectorView superview]) { - [_splitView addSubview:inspectorView]; + [self.splitView addSubview:inspectorView]; removeInspector = YES; } /* Maybe we should consider not double adding constraints */ @@ -389,10 +389,10 @@ typedef void (^MPPasswordChangedBlock)(void); options:0 metrics:nil views:views]]; - [_entryViewController updateResponderChain]; - [_inspectorViewController updateResponderChain]; - [_outlineViewController updateResponderChain]; - [_outlineViewController showOutline]; + [self.entryViewController updateResponderChain]; + [self.inspectorViewController updateResponderChain]; + [self.outlineViewController updateResponderChain]; + [self.outlineViewController showOutline]; /* Restore the State the inspector view was in before the view change */ if(removeInspector) { @@ -453,7 +453,7 @@ typedef void (^MPPasswordChangedBlock)(void); } - (BOOL)_isInspectorVisible { - NSView *inspectorView = [_inspectorViewController view]; + NSView *inspectorView = [self.inspectorViewController view]; return (nil != [inspectorView superview]); } diff --git a/MacPass/MPDocumentWindowDelegate.m b/MacPass/MPDocumentWindowDelegate.m index e2fba53a..b2d6c302 100644 --- a/MacPass/MPDocumentWindowDelegate.m +++ b/MacPass/MPDocumentWindowDelegate.m @@ -77,4 +77,5 @@ } return ok; } + @end diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 010fe38e..bc2e6be2 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -66,6 +66,7 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; @interface MPEntryViewController () { MPEntryContextMenuDelegate *_menuDelegate; BOOL _isDisplayingContextBar; + BOOL _showFooterInfo; } @property (strong) NSArrayController *entryArrayController; @@ -81,6 +82,8 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; @property (weak) IBOutlet HNHGradientView *bottomBar; @property (weak) IBOutlet NSButton *addEntryButton; +@property (weak) IBOutlet NSTextField *footerInfoText; + @property (nonatomic, strong) MPEntryTableDataSource *dataSource; @end @@ -188,6 +191,9 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [self _setupHeaderMenu]; [parentColumn setHidden:YES]; + + [self.footerInfoText setHidden:!_showFooterInfo]; + [self.footerInfoText setStringValue:NSLocalizedString(@"DOCUMENT_AUTOTYPE_CORRUPTION_WARNING", "")]; } - (NSResponder *)reconmendedFirstResponder { @@ -217,6 +223,22 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [self.contextBarViewController registerNotificationsForDocument:document]; + + /* Setup warning message at the bottom*/ + NSArray *array = [[NSUserDefaults standardUserDefaults] arrayForKey:kMPSettingsKeyDocumentsAutotypeFixNoteWasShown]; + NSString *path = [[document fileURL] path]; + if(!path) { + return; // No path, nothing to do + } + if(![array containsObject:path]) { + array = array ? [array arrayByAddingObject:path] : @[path]; + [[NSUserDefaults standardUserDefaults] setObject:array forKey:kMPSettingsKeyDocumentsAutotypeFixNoteWasShown]; + [[NSUserDefaults standardUserDefaults] synchronize]; + _showFooterInfo = YES; + } + else { + _showFooterInfo = NO; + } } #pragma mark NSTableViewDelgate diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 8e0b3aad..2da111a3 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -50,6 +50,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyKey; +APPKIT_EXTERN NSString *const kMPSettingsKeyDocumentsAutotypeFixNoteWasShown; /* Search */ APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterMode; diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 353d0639..7bf0e44d 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -8,41 +8,42 @@ #import "MPSettingsHelper.h" -NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout"; -NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit"; -NSString *const kMPSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch"; -NSString *const kMPSettingsKeyBrowserBundleId = @"BrowserBundleId"; -NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch"; -NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch"; -NSString *const kMPSettingsKeyHttpPort = @"HttpPort"; -NSString *const kMPSettingsKeyEnableHttpServer = @"EnableHttpServer"; -NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem"; -NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep"; -NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut"; -NSString *const kMPSettingsKeyShowInspector = @"ShowInspector"; -NSString *const kMPSettingsKeyEntryTableSortDescriptors = @"EntryTableSortDescriptors"; +NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout"; +NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit"; +NSString *const kMPSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch"; +NSString *const kMPSettingsKeyBrowserBundleId = @"BrowserBundleId"; +NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch"; +NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch"; +NSString *const kMPSettingsKeyHttpPort = @"HttpPort"; +NSString *const kMPSettingsKeyEnableHttpServer = @"EnableHttpServer"; +NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem"; +NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep"; +NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut"; +NSString *const kMPSettingsKeyShowInspector = @"ShowInspector"; +NSString *const kMPSettingsKeyEntryTableSortDescriptors = @"EntryTableSortDescriptors"; -NSString *const kMPSettingsKeyLegacyHideTitle = @"LegacyHideTitle"; -NSString *const kMPSettingsKeyLegacyHideUsername = @"LegacyHideUsername "; -NSString *const kMPSettingsKeyLegacyHidePassword = @"LegacyHidePassword"; -NSString *const kMPSettingsKeyLegacyHideNotes = @"LegacyHideNotes"; -NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL"; +NSString *const kMPSettingsKeyLegacyHideTitle = @"LegacyHideTitle"; +NSString *const kMPSettingsKeyLegacyHideUsername = @"LegacyHideUsername "; +NSString *const kMPSettingsKeyLegacyHidePassword = @"LegacyHidePassword"; +NSString *const kMPSettingsKeyLegacyHideNotes = @"LegacyHideNotes"; +NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL"; -NSString *const kMPSettingsKeyLastDatabasePath = @"LastDatabasePath"; -NSString *const kMPSettingsKeyRememeberdKeysForDatabases = @"RememeberdKeysForDatabases"; -NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"RememberKeyFilesForDatabases"; +NSString *const kMPSettingsKeyLastDatabasePath = @"LastDatabasePath"; +NSString *const kMPSettingsKeyRememeberdKeysForDatabases = @"RememeberdKeysForDatabases"; +NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"RememberKeyFilesForDatabases"; -NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey"; -NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; -NSString *const kMPSettingsKeyGlobalAutotypeKeyKey = @"GlobalAutotypeKey"; +NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey"; +NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; +NSString *const kMPSettingsKeyGlobalAutotypeKeyKey = @"GlobalAutotypeKey"; +NSString *const kMPSettingsKeyDocumentsAutotypeFixNoteWasShown = @"DocumentsAutotypeFixNoteWasShown"; -NSString *const kMPSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode"; +NSString *const kMPSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode"; -NSString *const kMPSettingsKeyEnableQuicklookPreview = @"EnableQuicklookPreview"; +NSString *const kMPSettingsKeyEnableQuicklookPreview = @"EnableQuicklookPreview"; -NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard = @"CopyGeneratedPasswordToClipboard"; +NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard = @"CopyGeneratedPasswordToClipboard"; -NSString *const kMPSettingsKeyDefaultPasswordRounds = @"KeyDefaultPasswordRounds"; +NSString *const kMPSettingsKeyDefaultPasswordRounds = @"KeyDefaultPasswordRounds"; @implementation MPSettingsHelper diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index d21fed7c612cc2205ffcf7048faebaeb326c544e..3789a410bea733bafebb6d9bffdc0b5f40afbfe2 100644 GIT binary patch delta 195 zcmW-bI|{;35JgX&C0J<+3mX>@EaC?Vm_$NEtWx+v5sdgLtlWpIa4{~&!V|g7%>4}W z-fQ+r->vR5pihrBDF?2sWj&pMkTE$U7A6xiN-APisavvQu3MSs6k?$+NmQBc(#=Aa xSW_>x8CW4h-?)jbD&{V$BinaI=JvO?r; liW!T<%z=)rcRKZjJIB6c?&*g;)3|XGPtHaL|4JD7&JVN@9KHYm delta 7 Ocmez2amjtdC1n5+j067w diff --git a/MacPass/en.lproj/MainMenu.strings b/MacPass/en.lproj/MainMenu.strings index f31b45c9..850adee4 100644 --- a/MacPass/en.lproj/MainMenu.strings +++ b/MacPass/en.lproj/MainMenu.strings @@ -139,3 +139,33 @@ /* Class = "NSMenuItem"; title = "Database Settings…"; ObjectID = "1231"; */ "1231.title" = "Database Settings…"; + +/* Class = "NSMenuItem"; title = "Save As…"; ObjectID = "1243"; */ +"1243.title" = "Save As…"; + +/* Class = "NSMenuItem"; title = "Export As XML…"; ObjectID = "1259"; */ +"1259.title" = "Export As XML…"; + +/* Class = "NSMenuItem"; title = "Lock"; ObjectID = "1261"; */ +"1261.title" = "Lock"; + +/* Class = "NSMenuItem"; title = "Focus Entries"; ObjectID = "2VP-vB-IeX"; */ +"2VP-vB-IeX.title" = "Focus Entries"; + +/* Class = "NSMenuItem"; title = "Focus Groups"; ObjectID = "HxM-dV-LIH"; */ +"HxM-dV-LIH.title" = "Focus Groups"; + +/* Class = "NSMenuItem"; title = "Focus Inspector"; ObjectID = "Zje-Me-5c8"; */ +"Zje-Me-5c8.title" = "Focus Inspector"; + +/* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "aVO-9F-Lwc"; */ +"aVO-9F-Lwc.title" = "Quicklook"; + +/* Class = "NSMenuItem"; title = "Fix Autotype…"; ObjectID = "nx7-Vf-LiD"; */ +"nx7-Vf-LiD.title" = "Fix Autotype…"; + +/* Class = "NSMenuItem"; title = "Import XML…"; ObjectID = "rW0-r1-QYL"; */ +"rW0-r1-QYL.title" = "Import XML…"; + +/* Class = "NSMenuItem"; title = "Check for Updates…"; ObjectID = "zMO-8r-g5v"; */ +"zMO-8r-g5v.title" = "Check for Updates…"; diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index 128b292279c4ca58feaa2e51523d5b45e3ac27b3..c1156b99d8a4e42a80e7022885c19c78c44e4bbb 100644 GIT binary patch delta 175 zcmW-bI|{;J5QM)vrwAz&Qs@E1BKRUj5($40t00m>5EUPwl~>6TJcZ}-LzZD@W{2JF zi*Nbq2k(e6DKP~HZtP{LPDH|-iW!ZQ1to!&OcitkTh_X*^NQMP)PY=8>TXQdvRtg( l6f+fxnIj!L?{w-b4^BhL($i0Srg7&iUR;cf{*^HCogY~H95(;} delta 7 OcmX@+x4?J90yO{+4+D4r diff --git a/MacPass/nl.lproj/Localizable.strings b/MacPass/nl.lproj/Localizable.strings index 91cc76697e035166aae8e5c654ca942e30aa2a2e..c6580d8993a88fa7ace6b0558aa01603db66ce06 100644 GIT binary patch delta 159 zcmX@+^UimJ0Lx}R77HbHE(U!DEd~V!UxrMEVuoZOOA9E%#h}FC!r;%~%n%Bcab@tE zTrVe?=FboWgrN)p3?U4jKv_SAc!qEWN1&J=knhLf4%DT5 kB8F0iJRt1`w50+_I|BJ74EaD@$xr}Pp$CRa4AwxK0o02cPyhe` delta 12 TcmaFod(3Bp0Lx|}7BeLPBUA)4 diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index 136b6f90..078c9e02 100644 --- a/MacPass/zh-Hans.lproj/Localizable.strings +++ b/MacPass/zh-Hans.lproj/Localizable.strings @@ -99,6 +99,9 @@ "COPY_URL" = "拷贝 URL"; "COPY_USERNAME" = "拷贝用户名"; +/* Dock Badge */ +"CLEARING_PASTEBOARD" = "…"; + /* Date/Time Displays @@ -144,8 +147,6 @@ /* Autoype Dialog */ "SELECT_AUTOTYPE_CANDIDATE" = "选择候选!"; -/* Mask to create autotype entries for selection by the user. %1 Title %2 Username %3 Password %4 Sequence */ -"TITLE_%@_USERNAME_%@_PASSWORD_%@_AUTOTYPE_SEQUENCE_%@" = "%@: 用户名:%@ 密码:%@ 序列:%@"; /* Alert Dialogs */ "WARNING_ON_EMPTY_TRASH_DESCRIPTION" = "清空废纸篓无法撤销"; @@ -163,3 +164,6 @@ "ERROR_PASSWORD_MISSMATCH_INVALID_KEYFILE" = "密码和密钥文件不正确!"; "ERROR_PASSWORD_MISSMATCH" = "密码不正确!"; "ERROR_INVALID_KEYFILE" = "密钥文件不正确!"; + +/* Misc */ +"DOCUMENT_AUTOTYPE_CORRUPTION_WARNING" = "Please run Fix Autotype...";