From 0d3bf5ba7110e25bf7959705348bc6bdcdb68875 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Thu, 18 Jul 2019 11:41:22 +0200 Subject: [PATCH 01/17] Fixed typo in localisation comment --- MacPass/MPAppDelegate.m | 2 +- MacPass/de.lproj/Localizable.strings | 2 +- MacPass/en.lproj/Localizable.strings | 2 +- MacPass/nl.lproj/Localizable.strings | 2 +- MacPass/ru.lproj/Localizable.strings | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index f7a06b2a..8d6c0c56 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -350,7 +350,7 @@ typedef NS_OPTIONS(NSInteger, MPAppStartupState) { #if defined(DEBUG) || defined(NO_SPARKLE) NSAlert *alert = [[NSAlert alloc] init]; alert.messageText = NSLocalizedString(@"ALERT_UPDATES_DISABLED_MESSAGE_TEXT", @"Message text for disabled updates alert!"); - alert.informativeText = [NSString stringWithFormat:NSLocalizedString(@"ALERT_UPDATES_DISABLED_INFORMATIVE_TEXT_%@!", @"Infromative text of the disabled updates alert!"), NSApp.applicationName]; + alert.informativeText = [NSString stringWithFormat:NSLocalizedString(@"ALERT_UPDATES_DISABLED_INFORMATIVE_TEXT_%@!", @"Informative text of the disabled updates alert!"), NSApp.applicationName]; [alert addButtonWithTitle:NSLocalizedString(@"OK", @"Ok Button to dismiss disabled updates alert")]; [alert runModal]; #else diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index ba6a2cbc..78a8bf46 100644 --- a/MacPass/de.lproj/Localizable.strings +++ b/MacPass/de.lproj/Localizable.strings @@ -97,7 +97,7 @@ /* Alert message text to ask the user if he really want to uninstall the plugin. Include %@ placeholder for plugin name */ "ALERT_MESSAGE_TEXT_REALLY_UNINSTALL_PLUGIN_%@" = "Möchten Sie das Plugin %@ wirklich deinstallieren?"; -/* Infromative text of the disabled updates alert! */ +/* Informative text of the disabled updates alert! */ "ALERT_UPDATES_DISABLED_INFORMATIVE_TEXT_%@!" = "Aktualisierungen von %@ sind für diese Version deaktivert!"; /* Message text for disabled updates alert! */ diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 568a0924..65b38c1b 100644 --- a/MacPass/en.lproj/Localizable.strings +++ b/MacPass/en.lproj/Localizable.strings @@ -97,7 +97,7 @@ /* Alert message text to ask the user if he really want to uninstall the plugin. Include %@ placeholder for plugin name */ "ALERT_MESSAGE_TEXT_REALLY_UNINSTALL_PLUGIN_%@" = "Should the Plugin %@ really be uninstalled?"; -/* Infromative text of the disabled updates alert! */ +/* Informative text of the disabled updates alert! */ "ALERT_UPDATES_DISABLED_INFORMATIVE_TEXT_%@!" = "Updates for this build of %@ are disabled!"; /* Message text for disabled updates alert! */ diff --git a/MacPass/nl.lproj/Localizable.strings b/MacPass/nl.lproj/Localizable.strings index d3bf10f7..0c49e719 100644 --- a/MacPass/nl.lproj/Localizable.strings +++ b/MacPass/nl.lproj/Localizable.strings @@ -76,7 +76,7 @@ /* Alert message text to ask the user if he really want to uninstall the plugin. Include %@ placeholder for plugin name */ "ALERT_MESSAGE_TEXT_REALLY_UNINSTALL_PLUGIN_%@" = "Wil je de extensie %@ verwijderen?"; -/* Infromative text of the disabled updates alert! */ +/* Informative text of the disabled updates alert! */ "ALERT_UPDATES_DISABLED_INFORMATIVE_TEXT_%@!" = "Bijwerken is uitgeschakeld voor deze versie van %@"; /* Message text for disabled updates alert! */ diff --git a/MacPass/ru.lproj/Localizable.strings b/MacPass/ru.lproj/Localizable.strings index 39bc86d5..9e333f92 100644 --- a/MacPass/ru.lproj/Localizable.strings +++ b/MacPass/ru.lproj/Localizable.strings @@ -85,7 +85,7 @@ /* Alert message text to ask the user if he really want to uninstall the plugin. Include %@ placeholder for plugin name */ "ALERT_MESSAGE_TEXT_REALLY_UNINSTALL_PLUGIN_%@" = "Должен ли плагин %@ быть удален?"; -/* Infromative text of the disabled updates alert! */ +/* Informative text of the disabled updates alert! */ "ALERT_UPDATES_DISABLED_INFORMATIVE_TEXT_%@!" = "Обновления для текущей сборки %@ отключены!"; /* Message text for disabled updates alert! */ From 091a565bc8d0a1ba5dba971a69e7d78d19f2c29a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Arratia?= Date: Fri, 19 Jul 2019 12:40:56 +0200 Subject: [PATCH 02/17] Translation to spanish improved (#953) * - Translation to Spanish of the new functionalities (adapt to new Localizable strings order) - Corrections of some typos in English translation * - Update all spanish translations, UI included --- MacPass.xcodeproj/project.pbxproj | 18 + MacPass/MPPluginRepository.m | 2 +- MacPass/en.lproj/Localizable.strings | 20 +- MacPass/es.lproj/AutotypeBuilderView.strings | 9 + .../AutotypeCandidateSelectionView.strings | 15 + MacPass/es.lproj/ContextBar.strings | 35 +- .../es.lproj/DatabaseSettingsWindow.strings | 67 +- MacPass/es.lproj/DatePickingView.strings | 2 +- .../DuplicateEntryOptionsWindow.strings | 14 +- MacPass/es.lproj/EntryInspectorView.strings | 64 +- MacPass/es.lproj/GeneralPreferences.strings | 34 +- MacPass/es.lproj/GroupInspectorView.strings | 8 +- MacPass/es.lproj/IconSelection.strings | 7 +- MacPass/es.lproj/InfoPlist.strings | 18 +- MacPass/es.lproj/InspectorView.strings | 77 +- .../es.lproj/IntegrationPreferences.strings | 41 +- MacPass/es.lproj/Localizable.strings | 976 ++++++++++++++---- MacPass/es.lproj/Localizable.stringsdict | 96 ++ MacPass/es.lproj/MainMenu.strings | 51 +- .../es.lproj/OpenPanelAccessoryView.strings | 6 + MacPass/es.lproj/PasswordCreatorView.strings | 13 +- MacPass/es.lproj/PasswordEditWindow.strings | 4 +- MacPass/es.lproj/PasswordInputView.strings | 14 +- MacPass/es.lproj/PickcharsView.strings | 18 + MacPass/es.lproj/PickfieldView.strings | 24 + MacPass/es.lproj/PluginDataView.strings | 15 + MacPass/es.lproj/PluginPreferences.strings | 28 +- .../PluginRepositoryBrowserView.strings | 42 + MacPass/es.lproj/ReferenceBuilderView.strings | 18 +- .../es.lproj/SavePanelAccessoryView.strings | 15 + MacPass/es.lproj/UpdatePreferences.strings | 8 +- MacPass/es.lproj/WelcomeView.strings | 20 +- MacPass/es.lproj/WorkflowPreferences.strings | 25 +- 33 files changed, 1408 insertions(+), 396 deletions(-) create mode 100644 MacPass/es.lproj/AutotypeBuilderView.strings create mode 100644 MacPass/es.lproj/AutotypeCandidateSelectionView.strings create mode 100644 MacPass/es.lproj/Localizable.stringsdict create mode 100644 MacPass/es.lproj/OpenPanelAccessoryView.strings create mode 100644 MacPass/es.lproj/PickcharsView.strings create mode 100644 MacPass/es.lproj/PickfieldView.strings create mode 100644 MacPass/es.lproj/PluginDataView.strings create mode 100644 MacPass/es.lproj/PluginRepositoryBrowserView.strings create mode 100644 MacPass/es.lproj/SavePanelAccessoryView.strings diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index e08b601c..b937c9af 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -974,6 +974,15 @@ 7837112D225540D1009BD28D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PluginRepositoryBrowserView.xib; sourceTree = ""; }; 78371130225540D8009BD28D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PluginRepositoryBrowserView.strings; sourceTree = ""; }; 78371132225540DE009BD28D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PluginRepositoryBrowserView.strings; sourceTree = ""; }; + A019D80F22DC6B3C0085FD54 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = es; path = es.lproj/Localizable.stringsdict; sourceTree = ""; }; + A083E27922DF467B0020E0D5 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/PickcharsView.strings; sourceTree = ""; }; + A083E27A22DF467B0020E0D5 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/PluginDataView.strings; sourceTree = ""; }; + A083E27B22DF467B0020E0D5 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/AutotypeCandidateSelectionView.strings; sourceTree = ""; }; + A083E27C22DF467B0020E0D5 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/OpenPanelAccessoryView.strings; sourceTree = ""; }; + A083E27D22DF467B0020E0D5 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/SavePanelAccessoryView.strings; sourceTree = ""; }; + A083E27E22DF467B0020E0D5 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/AutotypeBuilderView.strings; sourceTree = ""; }; + A083E27F22DF467B0020E0D5 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/PickfieldView.strings; sourceTree = ""; }; + A083E28022DF467B0020E0D5 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/PluginRepositoryBrowserView.strings; sourceTree = ""; }; A50AD5CF212884A0007C85EB /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/PluginDataView.strings; sourceTree = ""; }; A50AD5D0212884A0007C85EB /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/PickfieldView.strings; sourceTree = ""; }; BB3E050C1FE9D1CA00F0B46F /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/AutotypeCandidateSelectionView.strings; sourceTree = ""; }; @@ -2180,6 +2189,7 @@ 6A74B0752076F4B50049BC29 /* sv-SE */, 4C272A282224871900186EEC /* nl */, 4C1D56302271F4BC00C3E594 /* fr */, + A083E27922DF467B0020E0D5 /* es */, ); name = PickcharsView.xib; sourceTree = ""; @@ -2194,6 +2204,7 @@ A50AD5D0212884A0007C85EB /* pl */, 4C272A2B2224871900186EEC /* nl */, 4C1D56372271F4BC00C3E594 /* fr */, + A083E27F22DF467B0020E0D5 /* es */, ); name = PickfieldView.xib; sourceTree = ""; @@ -2224,6 +2235,7 @@ 4C0F04472147FB4E000B8568 /* de */, 4C272A2A2224871900186EEC /* nl */, 4C1D56332271F4BC00C3E594 /* fr */, + A083E27C22DF467B0020E0D5 /* es */, ); name = OpenPanelAccessoryView.xib; sourceTree = ""; @@ -2237,6 +2249,7 @@ 4C17D1262250EFC900C650C4 /* nl */, 7837112922553A74009BD28D /* ru */, 4C1D56342271F4BC00C3E594 /* fr */, + A083E27D22DF467B0020E0D5 /* es */, ); name = SavePanelAccessoryView.xib; sourceTree = ""; @@ -2469,6 +2482,7 @@ A50AD5CF212884A0007C85EB /* pl */, 4C272A292224871900186EEC /* nl */, 4C1D56312271F4BC00C3E594 /* fr */, + A083E27A22DF467B0020E0D5 /* es */, ); name = PluginDataView.xib; sourceTree = ""; @@ -2643,6 +2657,7 @@ 78371132225540DE009BD28D /* en */, 4C1D56382271F4BC00C3E594 /* fr */, 4C4B2ED122D8CA6100EB6BFD /* de */, + A083E28022DF467B0020E0D5 /* es */, ); name = PluginRepositoryBrowserView.xib; sourceTree = ""; @@ -2656,6 +2671,7 @@ BB3E050D1FE9D1CB00F0B46F /* nl */, 6A74B0792076F4B50049BC29 /* sv-SE */, 4C1D562F2271F4BC00C3E594 /* fr */, + A019D80F22DC6B3C0085FD54 /* es */, ); name = Localizable.stringsdict; sourceTree = ""; @@ -2670,6 +2686,7 @@ BB3E050C1FE9D1CA00F0B46F /* nl */, 6A74B0742076F4B50049BC29 /* sv-SE */, 4C1D56322271F4BC00C3E594 /* fr */, + A083E27B22DF467B0020E0D5 /* es */, ); name = AutotypeCandidateSelectionView.xib; sourceTree = ""; @@ -2685,6 +2702,7 @@ 6A74B0732076F4B50049BC29 /* sv-SE */, 7837112B22553B1D009BD28D /* ru */, 4C1D56352271F4BC00C3E594 /* fr */, + A083E27E22DF467B0020E0D5 /* es */, ); name = AutotypeBuilderView.xib; sourceTree = ""; diff --git a/MacPass/MPPluginRepository.m b/MacPass/MPPluginRepository.m index b737d290..38e657a5 100644 --- a/MacPass/MPPluginRepository.m +++ b/MacPass/MPPluginRepository.m @@ -173,7 +173,7 @@ NSString *const MPPluginRepositoryDidUpdateAvailablePluginsNotification = @"com. NSAlert *alert = [[NSAlert alloc] init]; alert.alertStyle = NSAlertStyleWarning; alert.informativeText = NSLocalizedString(@"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_INFORMATIVE_TEXT", @"Informative text displayed on the alert that shows up when MacPass asks for permssion to download the plugin repository JSON file"); - alert.messageText = NSLocalizedString(@"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_MESSAGE", @"Message displayed on the alert that askf for permission to download the plugin repository JSON file"); + alert.messageText = NSLocalizedString(@"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_MESSAGE", @"Message displayed on the alert that asks for permission to download the plugin repository JSON file"); alert.showsSuppressionButton = YES; [alert addButtonWithTitle:NSLocalizedString(@"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD", @"Disallow the download of the plugin repository file")]; [alert addButtonWithTitle:NSLocalizedString(@"ALERT_ASK_FOR_PLUGIN_REPOSITORY_ALLOW_DOWNLOAD", @"Allow the download of the plugin repository file")]; diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 65b38c1b..73328187 100644 --- a/MacPass/en.lproj/Localizable.strings +++ b/MacPass/en.lproj/Localizable.strings @@ -68,10 +68,10 @@ "ALERT_INCOMPATIBLE_PLUGINS_ENCOUNTERED_BUTTON_OPEN_PREFERENCES" = "Show Plugin Preferences…"; /* Informative text of the alert displayed when plugins where disabled due to incompatibilty */ -"ALERT_INCOMPATIBLE_PLUGINS_ENCOUNTERED_INFORMATIVE_TEXT" = "Some plugins where disabled, because they are not compatible with this version of MacPass. Open the plugin settings for details."; +"ALERT_INCOMPATIBLE_PLUGINS_ENCOUNTERED_INFORMATIVE_TEXT" = "Some plugins were disabled, because they are not compatible with this version of MacPass. Open the plugin settings for details."; /* Message text of the alert displayed when plugins where disabled due to incompatibilty */ -"ALERT_INCOMPATIBLE_PLUGINS_ENCOUNTERED_MESSAGE" = "Incompatible Plugins deteced."; +"ALERT_INCOMPATIBLE_PLUGINS_ENCOUNTERED_MESSAGE" = "Incompatible Plugins detected."; /* Alert informative text when plugins or their settings change and require a restart */ "ALERT_INFORMATIVE_TEXT_PLUGINS_CHANGED_SUGGEST_RESTART" = "Changes to plugins and global plugin settings take only effect after restart. Restart MacPass now?"; @@ -140,11 +140,11 @@ /* Notification: Autotype found a single match for %@ (string placeholder). */ "AUTOTYPE_OVERLAY_SINGLE_MATCH_FOR_%@" = "Found Match for %@!"; -/* Status lable when no issue were found in accessibilty */ -"AUTOTYPE_STATUS_ACCESSIBILTY_PERMISSIONS_OK" = "MacPass has permission to control your computer (Accessibilty)"; +/* Status label when no issue were found in accessibilty */ +"AUTOTYPE_STATUS_ACCESSIBILTY_PERMISSIONS_OK" = "MacPass has permission to control your computer (Accessibility)"; /* Status MacPass has no accessibilty permissions */ -"AUTOTYPE_STATUS_NO_ACCESSIBILTY_PERMISSIONS" = "MacPass has no permission to control your computer (Accessibilty)"; +"AUTOTYPE_STATUS_NO_ACCESSIBILTY_PERMISSIONS" = "MacPass has no permission to control your computer (Accessibility)"; /* Status MacPass has no screen recording permissions */ "AUTOTYPE_STATUS_NO_SCREEN_RECORDING_PERMISSIONS" = "MacPass has no permission to record your screen"; @@ -261,7 +261,7 @@ /* Context menu that copies reference to username */ "COPY_USERNAME_REFERENCE" = "Username"; -/* Curstom attribute reference item */ +/* Custom attribute reference item */ "CUSTOM_ATTRIBUTE" = "Custom Attribute"; /* Title for menu for custom search filters */ @@ -355,8 +355,8 @@ /* Error description given when adding an invalid plugin */ "ERROR_INVALID_PLUGIN" = "Invalid plugin"; -/* Error description for missing accessibilty permissions */ -"ERROR_NO_ACCESSIBILTY_PERMISSIONS" = "MacPass has no permission to control your computer (Accessibilty)"; +/* Error description for missing accessibility permissions */ +"ERROR_NO_ACCESSIBILTY_PERMISSIONS" = "MacPass has no permission to control your computer (Accessibility)"; /* Error description for missing screen recording permissions */ "ERROR_NO_PERMISSION_TO_RECORD_SCREEN" = "MacPass has no permission to record your screen"; @@ -608,7 +608,7 @@ /* Error for a plugin that was not signed properly */ "PLUGIN_ERROR_UNSECURE_PLUGIN" = "Plugin is not properly signed"; -/* Plugin specifies the wrong principla class! */ +/* Plugin specifies the wrong principal class! */ "PLUGIN_ERROR_WRONG_PRINCIPAL_CLASS" = "Unexpected principal class in plugin"; /* name for disabled unloaded plugin */ @@ -641,7 +641,7 @@ /* Restart */ "RESTART" = "Restart"; -/* Action to restore and Entry to a previous state of it's history */ +/* Action to restore an Entry to a previous state of its history */ "RESTORE_HISTORY_ENTRY" = "Restore History Entry"; /* Menu item to save the selected attached file. diff --git a/MacPass/es.lproj/AutotypeBuilderView.strings b/MacPass/es.lproj/AutotypeBuilderView.strings new file mode 100644 index 00000000..7cb5886b --- /dev/null +++ b/MacPass/es.lproj/AutotypeBuilderView.strings @@ -0,0 +1,9 @@ +/* Class = "NSTextFieldCell"; title = "Autotype Sequence"; ObjectID = "8ny-Qk-Jvo"; */ +"8ny-Qk-Jvo.title" = "Secuencia de Autotecleo"; + +/* Class = "NSButtonCell"; title = "Set Autotype Sequence"; ObjectID = "aOD-Ih-Sft"; */ +"aOD-Ih-Sft.title" = "Establecer secuencia de autotecleo"; + +/* Class = "NSTextFieldCell"; title = "Available Commands and Placeholders"; ObjectID = "lug-97-H9D"; */ +"lug-97-H9D.title" = "Comandos disponibles y referencias"; + diff --git a/MacPass/es.lproj/AutotypeCandidateSelectionView.strings b/MacPass/es.lproj/AutotypeCandidateSelectionView.strings new file mode 100644 index 00000000..0e073a76 --- /dev/null +++ b/MacPass/es.lproj/AutotypeCandidateSelectionView.strings @@ -0,0 +1,15 @@ +/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "60p-7v-Nje"; */ +"60p-7v-Nje.title" = "Cancelar"; + +/* Class = "NSTextFieldCell"; title = "There are multiple matches for the current window. Please select which match should be used."; ObjectID = "gcf-gb-ZsF"; */ +"gcf-gb-ZsF.title" = "Hay múltiples coincidencias para la ventana actual. Por favor seleccione cual usar."; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "PKW-gr-yqN"; */ +"PKW-gr-yqN.title" = "Celda de texto"; + +/* Class = "NSTextFieldCell"; title = "Content"; ObjectID = "TN3-3a-LaA"; */ +"TN3-3a-LaA.title" = "Contenido"; + +/* Class = "NSButtonCell"; title = "Perform Autotype"; ObjectID = "w7H-hx-CUF"; */ +"w7H-hx-CUF.title" = "Autoteclear"; + diff --git a/MacPass/es.lproj/ContextBar.strings b/MacPass/es.lproj/ContextBar.strings index eb8ae97b..4040f8ff 100644 --- a/MacPass/es.lproj/ContextBar.strings +++ b/MacPass/es.lproj/ContextBar.strings @@ -1,37 +1,27 @@ - /* Class = "NSTextFieldCell"; title = "Search:"; ObjectID = "7"; */ "7.title" = "Buscar:"; -/* Class = "NSButtonCell"; title = "Title"; ObjectID = "53D-ne-nv6"; */ -"53D-ne-nv6.title" = "Título"; - /* Class = "NSButtonCell"; title = "Empty Trash"; ObjectID = "8Ok-oe-6AB"; */ "8Ok-oe-6AB.title" = "Vaciar Papelera"; /* Class = "NSTextFieldCell"; title = "Trash"; ObjectID = "8P1-Rp-sF4"; */ "8P1-Rp-sF4.title" = "Papelera"; +/* Class = "NSButtonCell"; title = "Title"; ObjectID = "53D-ne-nv6"; */ +"53D-ne-nv6.title" = "Título"; + /* Class = "NSButtonCell"; title = "URL"; ObjectID = "92o-gN-Psj"; */ "92o-gN-Psj.title" = "URL"; /* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "CFk-71-NYQ"; */ "CFk-71-NYQ.title" = "Item 3"; -/* Class = "NSTextFieldCell"; title = "History"; ObjectID = "ER3-Ic-v0N"; */ -"ER3-Ic-v0N.title" = "Historial"; - -/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "LRm-iZ-XrA"; */ -"LRm-iZ-XrA.title" = "Item 1"; - -/* Class = "NSButtonCell"; title = "Restore Entry"; ObjectID = "UTg-y9-4DN"; */ -"UTg-y9-4DN.title" = "Restaurar Entrada"; - -/* Class = "NSTabViewItem"; label = "Filter"; ObjectID = "Ud6-Nz-6PS"; */ -"Ud6-Nz-6PS.label" = "Filtro"; - /* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "cpr-p6-YAY"; */ "cpr-p6-YAY.title" = "Item 2"; +/* Class = "NSTextFieldCell"; title = "History"; ObjectID = "ER3-Ic-v0N"; */ +"ER3-Ic-v0N.title" = "Historial"; + /* Class = "NSButtonCell"; title = "Exit History"; ObjectID = "ewQ-8F-e1E"; */ "ewQ-8F-e1E.title" = "Salir de Historial"; @@ -41,14 +31,27 @@ /* Class = "NSButtonCell"; title = "Username"; ObjectID = "jfQ-Jh-2gl"; */ "jfQ-Jh-2gl.title" = "Usuario"; +/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "LRm-iZ-XrA"; */ +"LRm-iZ-XrA.title" = "Item 1"; + /* Class = "NSTabViewItem"; label = "Trash"; ObjectID = "na6-h9-r9q"; */ "na6-h9-r9q.label" = "Papelera"; /* Class = "NSButtonCell"; title = "Password"; ObjectID = "rvQ-4V-SsS"; */ "rvQ-4V-SsS.title" = "Contraseña"; +/* Class = "NSTabViewItem"; label = "Filter"; ObjectID = "Ud6-Nz-6PS"; */ +"Ud6-Nz-6PS.label" = "Filtro"; + +/* Class = "NSButtonCell"; title = "Restore Entry"; ObjectID = "UTg-y9-4DN"; */ +"UTg-y9-4DN.title" = "Restaurar Entrada"; + /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "wC4-fF-dLW"; */ "wC4-fF-dLW.title" = "Otras Vistas"; +/* Class = "NSButtonCell"; title = "Everywhere"; ObjectID = "WMK-bb-ESj"; */ +"WMK-bb-ESj.title" = "Todos los lugares"; + /* Class = "NSTabViewItem"; label = "History"; ObjectID = "z4I-cp-nhf"; */ "z4I-cp-nhf.label" = "Historial"; + diff --git a/MacPass/es.lproj/DatabaseSettingsWindow.strings b/MacPass/es.lproj/DatabaseSettingsWindow.strings index 1e6d8728..81d121c2 100644 --- a/MacPass/es.lproj/DatabaseSettingsWindow.strings +++ b/MacPass/es.lproj/DatabaseSettingsWindow.strings @@ -1,7 +1,18 @@ - /* Class = "NSWindow"; title = "Window"; ObjectID = "1"; */ "1.title" = "Ventana"; +/* Class = "NSTextFieldCell"; title = "Threads"; ObjectID = "2QI-ne-N5d"; */ +"2QI-ne-N5d.title" = "Hilos"; + +/* Class = "NSTextFieldCell"; title = "Iterations"; ObjectID = "2ZA-Gc-JdZ"; */ +"2ZA-Gc-JdZ.title" = "Iteraciones"; + +/* Class = "NSTextFieldCell"; title = "Enforce key change"; ObjectID = "5QH-N1-FHK"; */ +"5QH-N1-FHK.title" = "Obligar a cambiar de contraseña"; + +/* Class = "NSTabViewItem"; label = "Argon2"; ObjectID = "6qB-sH-9FI"; */ +"6qB-sH-9FI.label" = "Argon2"; + /* Class = "NSTextFieldCell"; title = "Database name:"; ObjectID = "190"; */ "190.title" = "Base:"; @@ -26,10 +37,7 @@ /* Class = "NSButtonCell"; title = "Enable Recycle Bin"; ObjectID = "536"; */ "536.title" = "Habilitar Papelera de Reciclaje"; -/* Class = "NSButtonCell"; title = "Empty Recycle Bin on Quit"; ObjectID = "540"; */ -"540.title" = "Vaciar Papelera de Reciclaje al Salir"; - -/* Class = "NSTextFieldCell"; title = "Maximum Items:"; ObjectID = "558"; */ +/* Class = "NSTextFieldCell"; title = "Maximum items in history:"; ObjectID = "558"; */ "558.title" = "Entradas Máximas:"; /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "680"; */ @@ -38,7 +46,7 @@ /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "957"; */ "957.title" = "Cancelar"; -/* Class = "NSTextFieldCell"; title = "Maximum Size:"; ObjectID = "1269"; */ +/* Class = "NSTextFieldCell"; title = "Maximum history size:"; ObjectID = "1269"; */ "1269.title" = "Tamaño Máximo:"; /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "1396"; */ @@ -62,11 +70,48 @@ /* Class = "NSTextFieldCell"; title = "Default Username:"; ObjectID = "1591"; */ "1591.title" = "Usuario por Defecto:"; -/* Class = "NSTextFieldCell"; title = "Key encryption rounds:"; ObjectID = "1644"; */ -"1644.title" = "Rondas de Clave de Cifrado:"; - /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "1740"; */ "1740.title" = "Otras Vistas"; -/* Class = "NSButtonCell"; title = "Benchmark"; ObjectID = "1775"; */ -"1775.title" = "Referencia"; +/* Class = "NSTextFieldCell"; title = "File format:"; ObjectID = "bTk-YZ-x0G"; */ +"bTk-YZ-x0G.title" = "Formato de archivo:"; + +/* Class = "NSButtonCell"; title = "Recommend key change"; ObjectID = "CtU-Eq-dgy"; */ +"CtU-Eq-dgy.title" = "Recomendar cambio de contraseña"; + +/* Class = "NSTabViewItem"; label = "Aes"; ObjectID = "ft1-pl-lpO"; */ +"ft1-pl-lpO.label" = "AES"; + +/* Class = "NSTextFieldCell"; title = "Algorithm"; ObjectID = "GVd-KH-pHc"; */ +"GVd-KH-pHc.title" = "Algoritmo"; + +/* Class = "NSTextFieldCell"; title = "Encryption:"; ObjectID = "gxY-UL-bEG"; */ +"gxY-UL-bEG.title" = "Cifrado:"; + +/* Class = "NSTextFieldCell"; title = "Memory"; ObjectID = "iRY-If-Kwn"; */ +"iRY-If-Kwn.title" = "Memoria"; + +/* Class = "NSTextFieldCell"; title = "Recyclebin Group:"; ObjectID = "kI5-Kp-byE"; */ +"kI5-Kp-byE.title" = "Grupo de papelera:"; + +/* Class = "NSButtonCell"; title = "Force key change once after unlocking"; ObjectID = "pA1-aL-KjT"; */ +"pA1-aL-KjT.title" = "Obligar a cambiar de contraseña una vez desbloqueado"; + +/* Class = "NSBox"; title = "Key derivation"; ObjectID = "pbl-Mb-r8V"; */ +"pbl-Mb-r8V.title" = "Derivación de contraseña"; + +/* Class = "NSButtonCell"; title = "Generate Parameters"; ObjectID = "PoI-Er-Y8P"; */ +"PoI-Er-Y8P.title" = "Generar parámetros"; + +/* Class = "NSTextFieldCell"; title = "VersionInfo"; ObjectID = "Ush-4r-A1A"; */ +"Ush-4r-A1A.title" = "Información de versión"; + +/* Class = "NSTextFieldCell"; title = "Rounds"; ObjectID = "uUQ-9s-M5E"; */ +"uUQ-9s-M5E.title" = "Rondas"; + +/* Class = "NSTextFieldCell"; title = "Recommend key change"; ObjectID = "Xib-Fn-sqx"; */ +"Xib-Fn-sqx.title" = "Recomendar cambio de contraseña"; + +/* Class = "NSButtonCell"; title = "Force key change"; ObjectID = "z6u-YT-7LE"; */ +"z6u-YT-7LE.title" = "Obligar a cambiar de contraseña"; + diff --git a/MacPass/es.lproj/DatePickingView.strings b/MacPass/es.lproj/DatePickingView.strings index 00de0f2e..c7ebd60e 100644 --- a/MacPass/es.lproj/DatePickingView.strings +++ b/MacPass/es.lproj/DatePickingView.strings @@ -1,4 +1,3 @@ - /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "17"; */ "17.title" = "Otras vistas"; @@ -7,3 +6,4 @@ /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "30"; */ "30.title" = "Cancelar"; + diff --git a/MacPass/es.lproj/DuplicateEntryOptionsWindow.strings b/MacPass/es.lproj/DuplicateEntryOptionsWindow.strings index afec2685..29822a0d 100644 --- a/MacPass/es.lproj/DuplicateEntryOptionsWindow.strings +++ b/MacPass/es.lproj/DuplicateEntryOptionsWindow.strings @@ -1,18 +1,18 @@ +/* Class = "NSButtonCell"; title = "Reference password instead of copying it"; ObjectID = "daA-QV-CDq"; */ +"daA-QV-CDq.title" = "Referenciar contraseña en vez de copiarla"; + +/* Class = "NSButtonCell"; title = "Duplicate history"; ObjectID = "dXl-KS-4rE"; */ +"dXl-KS-4rE.title" = "Duplicar historial"; /* Class = "NSButtonCell"; title = "Reference username instead of copying it"; ObjectID = "O9X-XH-n8o"; */ "O9X-XH-n8o.title" = "Referenciar Usuario en vez de copiarlo"; -/* Class = "NSWindow"; title = "Window"; ObjectID = "QvC-M9-y7g"; */ +/* Class = "NSWindow"; title = "Duplicate Entry Options"; ObjectID = "QvC-M9-y7g"; */ "QvC-M9-y7g.title" = "Ventana"; /* Class = "NSButtonCell"; title = "Duplicate Entry"; ObjectID = "WqI-qH-ARf"; */ "WqI-qH-ARf.title" = "Duplicar Entrada"; -/* Class = "NSButtonCell"; title = "Duplicate history"; ObjectID = "dXl-KS-4rE"; */ -"dXl-KS-4rE.title" = "Duplicar historial"; - -/* Class = "NSButtonCell"; title = "Reference password instead of copying it"; ObjectID = "daA-QV-CDq"; */ -"daA-QV-CDq.title" = "Referenciar contraseña en vez de copiarla"; - /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "x6e-bE-Y6R"; */ "x6e-bE-Y6R.title" = "Cancelar"; + diff --git a/MacPass/es.lproj/EntryInspectorView.strings b/MacPass/es.lproj/EntryInspectorView.strings index aa68c7ca..ad8d52f2 100644 --- a/MacPass/es.lproj/EntryInspectorView.strings +++ b/MacPass/es.lproj/EntryInspectorView.strings @@ -1,3 +1,8 @@ +/* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ +"0ok-MC-QMP.title" = "Guardar"; + +/* Class = "NSButtonCell"; title = "Enable Autotype"; ObjectID = "9Nx-mE-DK3"; */ +"9Nx-mE-DK3.title" = "Habilitar Autollenado"; /* Class = "NSButtonCell"; title = "Generate"; ObjectID = "64"; */ "64.title" = "Generar"; @@ -20,9 +25,6 @@ /* Class = "NSTextFieldCell"; title = "Tags"; ObjectID = "79"; */ "79.title" = "Tags"; -/* Class = "NSTabViewItem"; label = "Fields"; ObjectID = "108"; */ -"108.label" = "Campos"; - /* Class = "NSTabViewItem"; label = "Attachments"; ObjectID = "109"; */ "109.label" = "Adjuntos"; @@ -41,9 +43,6 @@ /* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "171"; */ "171.title" = "Campo de Vista de Tabla"; -/* Class = "NSTextFieldCell"; title = "Custom Fields"; ObjectID = "190"; */ -"190.title" = "Campos Personalizados"; - /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "197"; */ "197.title" = "Campo de Texto"; @@ -53,47 +52,23 @@ /* Class = "NSTextFieldCell"; placeholderString = "Value"; ObjectID = "214"; */ "214.placeholderString" = "Valor"; -/* Class = "NSTextFieldCell"; placeholderString = "Value"; ObjectID = "225"; */ -"225.placeholderString" = "Valor"; - -/* Class = "NSTextFieldCell"; placeholderString = "Title"; ObjectID = "228"; */ -"228.placeholderString" = "Título"; - /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[0] = "General"; ObjectID = "238"; */ "238.ibShadowedLabels[0]" = "General"; /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */ "238.ibShadowedLabels[1]" = "Archivos"; -/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Custom"; ObjectID = "238"; */ +/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Autotype"; ObjectID = "238"; */ "238.ibShadowedLabels[2]" = "Personalizado"; -/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ -"238.ibShadowedLabels[3]" = "Autollenado"; - -/* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ -"0ok-MC-QMP.title" = "Guardar"; - -/* Class = "NSButtonCell"; title = "Enable Autotype"; ObjectID = "9Nx-mE-DK3"; */ -"9Nx-mE-DK3.title" = "Habilitar Autollenado"; - -/* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "NtM-y3-l4D"; */ -"NtM-y3-l4D.title" = "Vista Rápida"; - -/* Class = "NSTextFieldCell"; placeholderString = "Custom Entry Sequence"; ObjectID = "R2X-Ex-c6q"; */ -"R2X-Ex-c6q.placeholderString" = "Entrada de Secuecia Personalizada"; - -/* Class = "NSTextFieldCell"; title = "Window Sequence"; ObjectID = "RQB-bR-MC0"; */ -"RQB-bR-MC0.title" = "Secuencia de Ventana"; - -/* Class = "NSTextFieldCell"; title = "Autotype Sequence"; ObjectID = "bQ5-0E-h3O"; */ -"bQ5-0E-h3O.title" = "Secuencia Autollenado"; +/* Class = "NSMenuItem"; title = "Delete"; ObjectID = "bke-G2-oEf"; */ +"bke-G2-oEf.title" = "Eliminar"; /* Class = "NSTextFieldCell"; title = "Window Title"; ObjectID = "bkO-Bk-AuX"; */ "bkO-Bk-AuX.title" = "Título de Ventana"; -/* Class = "NSMenuItem"; title = "Delete"; ObjectID = "bke-G2-oEf"; */ -"bke-G2-oEf.title" = "Eliminar"; +/* Class = "NSTextFieldCell"; title = "Autotype Sequence"; ObjectID = "bQ5-0E-h3O"; */ +"bQ5-0E-h3O.title" = "Secuencia Autollenado"; /* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "dyA-lo-PGa"; */ "dyA-lo-PGa.title" = "Campo de Vista de Tabla"; @@ -110,5 +85,24 @@ /* Class = "NSTextFieldCell"; title = "Window Associations"; ObjectID = "ned-1Q-FXA"; */ "ned-1Q-FXA.title" = "Asociaciones de Ventana"; +/* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "NtM-y3-l4D"; */ +"NtM-y3-l4D.title" = "Vista Rápida"; + +/* Class = "NSButtonCell"; title = "Obfuscate Autotype"; ObjectID = "oNq-kB-3eb"; */ +"oNq-kB-3eb.title" = "Ofuscar Autotecleo"; + +/* Class = "NSTextFieldCell"; placeholderString = "Custom Entry Sequence"; ObjectID = "R2X-Ex-c6q"; */ +"R2X-Ex-c6q.placeholderString" = "Entrada de Secuecia Personalizada"; + +/* Class = "NSTextFieldCell"; title = "Window Sequence"; ObjectID = "RQB-bR-MC0"; */ +"RQB-bR-MC0.title" = "Secuencia de Ventana"; + /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "sNS-o1-pD7"; */ "sNS-o1-pD7.title" = "Otras Vistas"; + +/* Class = "NSTextFieldCell"; title = "UUID"; ObjectID = "vTq-N1-5oa"; */ +"vTq-N1-5oa.title" = "UUID"; + +/* Class = "NSButtonCell"; title = "Show Plugin Data"; ObjectID = "X9y-K7-lix"; */ +"X9y-K7-lix.title" = "Mostrar los datos del plugin"; + diff --git a/MacPass/es.lproj/GeneralPreferences.strings b/MacPass/es.lproj/GeneralPreferences.strings index 19692917..a8b8e51d 100644 --- a/MacPass/es.lproj/GeneralPreferences.strings +++ b/MacPass/es.lproj/GeneralPreferences.strings @@ -1,3 +1,8 @@ +/* Class = "NSMenuItem"; title = "after 5 Minutes"; ObjectID = "5gh-b6-cmG"; */ +"5gh-b6-cmG.title" = "después de 5 minutos"; + +/* Class = "NSButtonCell"; title = "Clear all stored locations"; ObjectID = "8Ri-2s-c39"; */ +"8Ri-2s-c39.title" = "Eliminar las ubicaciones guardadas"; /* Class = "NSMenu"; title = "ClipboardClearInterval"; ObjectID = "421"; */ "421.title" = "Intervalo de vaciado de Portapapeles"; @@ -26,12 +31,6 @@ /* Class = "NSButtonCell"; title = "Reopen last Database after Launch"; ObjectID = "531"; */ "531.title" = "Reabrir Base más reciente al Iniciar"; -/* Class = "NSBox"; title = "General"; ObjectID = "928"; */ -"928.title" = "General"; - -/* Class = "NSButtonCell"; title = "Double-click entry URL to Launch"; ObjectID = "937"; */ -"937.title" = "Abrir URL al dar doble clic"; - /* Class = "NSMenu"; title = "LockTimes"; ObjectID = "586"; */ "586.title" = "Tiempos de Bloqueo"; @@ -53,11 +52,30 @@ /* Class = "NSTextFieldCell"; title = "Lock while idle"; ObjectID = "806"; */ "806.title" = "Bloquear al estar inactivo"; +/* Class = "NSBox"; title = "File Handling"; ObjectID = "888"; */ +"888.title" = "Gestión de ficheros"; + /* Class = "NSTextFieldCell"; title = "Enabling this compromises security. If enabled, your preferences will contain mappings from database to keyfile. Key locations for databases without a password will not be saved."; ObjectID = "ACh-7H-42N"; */ "ACh-7H-42N.title" = "Habilitando esta opción se compromete la seguridad. Si está habilitado, tus preferencias contendrán mapeos de bases al keyfile. Las ubicaciones para bases sin contraseña no serán guardadas.."; +/* Class = "NSButtonCell"; title = "Lock after log out"; ObjectID = "Dzn-9R-JjE"; */ +"Dzn-9R-JjE.title" = "Bloquear después de cerrar sesión"; + +/* Class = "NSButtonCell"; title = "Prevent Universal Clipboard support"; ObjectID = "fNy-mS-phi"; */ +"fNy-mS-phi.title" = "Evitar soporte de portapapeles universal"; + +/* Class = "NSTextFieldCell"; title = "Disabling this compromises security. If enabled, anything copied to the Clipboard in MacPass will be available on your connected iOS devices. You should clear the clipboard on those devices manually."; ObjectID = "JGX-Tp-KJk"; */ +"JGX-Tp-KJk.title" = "Deshabilitar esto compromete la seguridad . Si está habilitado, cualquier elemento copiado en el portapapeles en MacPass estará disponible en los dispositivos iOS conectados. Se debería limpiar el portapapeles de esos dispositivos manualmente."; + +/* Class = "NSTextFieldCell"; title = "If file changes:"; ObjectID = "QrK-hM-Xt1"; */ +"QrK-hM-Xt1.title" = "Si el archivo cambia:"; + /* Class = "NSButtonCell"; title = "Remember Keyfile for Databases"; ObjectID = "r6q-He-nYU"; */ "r6q-He-nYU.title" = "Recordar el Keyfile para las Bases de Datos"; -/* Class = "NSButtonCell"; title = "Clear all stored locations"; ObjectID = "8Ri-2s-c39"; */ -"8Ri-2s-c39.title" = "Eliminar las ubicaciones guardadas"; +/* Class = "NSButtonCell"; title = "Enable Autosave"; ObjectID = "wG7-bi-2fi"; */ +"wG7-bi-2fi.title" = "Habilitar auto guardado"; + +/* Class = "NSTextFieldCell"; title = "Close and open all documents for changes to take effect"; ObjectID = "ya5-ps-c4W"; */ +"ya5-ps-c4W.title" = "Cerrar y abrir todos los documentos para que los cambios surtan efecto"; + diff --git a/MacPass/es.lproj/GroupInspectorView.strings b/MacPass/es.lproj/GroupInspectorView.strings index 7395773f..8c943f90 100644 --- a/MacPass/es.lproj/GroupInspectorView.strings +++ b/MacPass/es.lproj/GroupInspectorView.strings @@ -1,3 +1,5 @@ +/* Class = "NSTextFieldCell"; title = "Autotype Sequence"; ObjectID = "6FG-UZ-Adh"; */ +"6FG-UZ-Adh.title" = "Secuencia de Auto tecleo"; /* Class = "NSTextFieldCell"; title = "Name"; ObjectID = "25"; */ "25.title" = "Nombre"; @@ -15,4 +17,8 @@ "265.title" = "Buscar"; /* Class = "NSTextFieldCell"; title = "Autotype"; ObjectID = "277"; */ -"277.title" = "Autollenado"; +"277.title" = "Autotecleo"; + +/* Class = "NSButtonCell"; title = "Show Plugin Data"; ObjectID = "qGr-oT-WjP"; */ +"qGr-oT-WjP.title" = "Mostrar datos del plugin"; + diff --git a/MacPass/es.lproj/IconSelection.strings b/MacPass/es.lproj/IconSelection.strings index 77aa0758..27cb82af 100644 --- a/MacPass/es.lproj/IconSelection.strings +++ b/MacPass/es.lproj/IconSelection.strings @@ -1,6 +1,9 @@ +/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "1kM-cI-P1o"; */ +"1kM-cI-P1o.title" = "Cancelar"; /* Class = "NSButtonCell"; title = "Use Default Icon"; ObjectID = "102"; */ "102.title" = "Usar Ícono por Defecto"; -/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "1kM-cI-P1o"; */ -"1kM-cI-P1o.title" = "Cancelar"; +/* Class = "NSButtonCell"; title = "Download Icon"; ObjectID = "iaf-XW-XUo"; */ +"iaf-XW-XUo.title" = "Descargar icono"; + diff --git a/MacPass/es.lproj/InfoPlist.strings b/MacPass/es.lproj/InfoPlist.strings index 477b28ff..1768710c 100644 --- a/MacPass/es.lproj/InfoPlist.strings +++ b/MacPass/es.lproj/InfoPlist.strings @@ -1,2 +1,18 @@ -/* Localized versions of Info.plist keys */ +/* Bundle name */ +"CFBundleName" = "MacPass"; + +/* (No Comment) */ +"KDB Database" = "Base de datos KDB"; + +/* (No Comment) */ +"KDBX Database" = "Base de datos KDBX"; + +/* (No Comment) */ +"MacPass Plugin" = "Plugin MacPass"; + +/* (No Comment) */ +"NSHumanReadableCopyright" = "Copyright ©2012-2019 HicknHack Software GmbH. All rights reserved. "; + +/* (No Comment) */ +"XML" = "XML"; diff --git a/MacPass/es.lproj/InspectorView.strings b/MacPass/es.lproj/InspectorView.strings index 0ea820c9..4714a01c 100644 --- a/MacPass/es.lproj/InspectorView.strings +++ b/MacPass/es.lproj/InspectorView.strings @@ -1,69 +1,24 @@ +/* Class = "NSTabViewItem"; label = "Group"; ObjectID = "2896"; */ +"2896.label" = "Grupo"; -/* Class = "NSTextFieldCell"; title = "Name"; ObjectID = "101"; */ -"101.title" = "Nombre"; +/* Class = "NSTabViewItem"; label = "Entry"; ObjectID = "2897"; */ +"2897.label" = "Entrada"; -/* Class = "NSTextFieldCell"; title = "Name"; ObjectID = "1266"; */ -"1266.title" = "Nombre"; +/* Class = "NSTabViewItem"; label = "NoSelection"; ObjectID = "2974"; */ +"2974.label" = "Sin selección"; -/* Class = "NSTextFieldCell"; title = "Username"; ObjectID = "1267"; */ -"1267.title" = "Nombre de Usuario"; +/* Class = "NSTextFieldCell"; title = "No Selection"; ObjectID = "2986"; */ +"2986.title" = "Sin selección"; -/* Class = "NSTextFieldCell"; title = "URL"; ObjectID = "1268"; */ -"1268.title" = "URL"; +/* Class = "NSTextFieldCell"; title = "Label"; ObjectID = "3014"; */ +"3014.title" = "Etiqueta"; -/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "1269"; */ -"1269.title" = "Contaseña"; +/* Class = "NSTextFieldCell"; title = "Notes"; ObjectID = "hwn-UY-9Cr"; */ +"hwn-UY-9Cr.title" = "Notas"; -/* Class = "NSButtonCell"; title = "Generate"; ObjectID = "1274"; */ -"1274.title" = "Generar"; +/* Class = "CocoaBindingsConnection"; ibShadowedIsNilPlaceholder = "None"; ObjectID = "Xpb-G8-gXl"; */ +"Xpb-G8-gXl.ibShadowedIsNilPlaceholder" = "Ninguno"; -/* Class = "NSTabViewItem"; label = "General"; ObjectID = "1394"; */ -"1394.label" = "General"; +/* Class = "CocoaBindingsConnection"; ibShadowedNoSelectionPlaceholder = "No Selection"; ObjectID = "Xpb-G8-gXl"; */ +"Xpb-G8-gXl.ibShadowedNoSelectionPlaceholder" = "Sin selección"; -/* Class = "NSTabViewItem"; label = "Notes"; ObjectID = "1395"; */ -"1395.label" = "Notas"; - -/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "1481"; */ -"1481.title" = "Campo de Texto"; - -/* Class = "NSTextFieldCell"; title = "Attachments"; ObjectID = "1513"; */ -"1513.title" = "Adjuntos"; - -/* Class = "NSTextFieldCell"; title = "Notes"; ObjectID = "1529"; */ -"1529.title" = "Notas"; - -/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "1568"; */ -"1568.title" = "Campo de Vista de Tabla"; - -/* Class = "NSButtonCell"; title = "Add File"; ObjectID = "1581"; */ -"1581.title" = "Agregar Archivo"; - -/* Class = "NSButtonCell"; title = "Save File"; ObjectID = "1586"; */ -"1586.title" = "Guardar Archivo"; - -/* Class = "NSTextFieldCell"; title = "Quality"; ObjectID = "1605"; */ -"1605.title" = "Calidad"; - -/* Class = "NSTextFieldCell"; title = "Created"; ObjectID = "1885"; */ -"1885.title" = "Creado"; - -/* Class = "NSTextFieldCell"; title = "Modified"; ObjectID = "1930"; */ -"1930.title" = "Modificado"; - -/* Class = "NSTabViewItem"; label = "Attachments"; ObjectID = "1945"; */ -"1945.label" = "Aduntos"; - -/* Class = "NSTabViewItem"; label = "Fields"; ObjectID = "1947"; */ -"1947.label" = "Campos"; - -/* Class = "NSTextFieldCell"; title = "Custom Fields"; ObjectID = "1991"; */ -"1991.title" = "Campos Personalizados"; - -/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "2017"; */ -"2017.title" = "Campo de Texto"; - -/* Class = "NSTextFieldCell"; placeholderString = "Value"; ObjectID = "2043"; */ -"2043.placeholderString" = "Valor"; - -/* Class = "NSTextFieldCell"; placeholderString = "Title"; ObjectID = "2049"; */ -"2049.placeholderString" = "Título"; diff --git a/MacPass/es.lproj/IntegrationPreferences.strings b/MacPass/es.lproj/IntegrationPreferences.strings index 437d02c3..45aa140f 100644 --- a/MacPass/es.lproj/IntegrationPreferences.strings +++ b/MacPass/es.lproj/IntegrationPreferences.strings @@ -1,21 +1,41 @@ - -/* Class = "NSButtonCell"; title = "Enable KeePassHttp server"; ObjectID = "3"; */ -"3.title" = "Habilitar Servidor KeePassHttp"; - /* Class = "NSButtonCell"; title = "Enable global Autotype"; ObjectID = "1qb-Rd-jYu"; */ "1qb-Rd-jYu.title" = "Habilitar Autollenado Global"; /* Class = "NSTextFieldCell"; title = "Shortcut"; ObjectID = "6oN-CH-T0O"; */ "6oN-CH-T0O.title" = "Atajo"; -/* Class = "NSButtonCell"; title = "Enabel Quicklook Preview"; ObjectID = "ERs-ct-Eyx"; */ +/* Class = "NSButtonCell"; title = "Include Entry URL Host for matches"; ObjectID = "B1D-j9-L8x"; */ +"B1D-j9-L8x.title" = "Incluir URL de Host en las búsquedas"; + +/* Class = "NSButtonCell"; title = "Enable Quicklook Preview"; ObjectID = "ERs-ct-Eyx"; */ "ERs-ct-Eyx.title" = "Habilitar Vista Previa"; -/* Class = "NSBox"; title = "Keepass HTTP"; ObjectID = "KbH-0Q-5Tw"; */ -"KbH-0Q-5Tw.title" = "Keepass HTTP"; +/* Class = "NSTextFieldCell"; title = "Autotype might not work properly. Some issues where found that prevent Autotype or Global Autotype to work. Please run the Autotype Doctor to fix those issues."; ObjectID = "H37-ku-aTc"; */ +"H37-ku-aTc.title" = "Autotecleo podría no funcionar correctamente. Se detecto algún problema que puede evitar que Autotecleo o Autotecleo global funcione. Por favor ejecute el Doctor de Autotecleo para solucionar el problema."; + +/* Class = "NSTextFieldCell"; title = "Shortcut is missing Key"; ObjectID = "Lxp-wI-yQy"; */ +"Lxp-wI-yQy.title" = "El atajo no está definido"; + +/* Class = "NSButtonCell"; title = "Run Autotype Doctor…"; ObjectID = "NP0-R3-m6n"; */ +"NP0-R3-m6n.title" = "Ejecutar el Doctor de Autotecleo"; /* Class = "NSBox"; title = "Autotype"; ObjectID = "P9N-HM-wER"; */ -"P9N-HM-wER.title" = "Autollenado"; +"P9N-HM-wER.title" = "Autotecleo"; + +/* Class = "NSButtonCell"; title = "Interpret ⌃ as ⌘"; ObjectID = "QfO-yG-l3F"; */ +"QfO-yG-l3F.title" = "Intérprete ⌃ as ⌘"; + +/* Class = "NSTextFieldCell"; title = "If enabled, every {CONTROL} command will be sent as ⌘. Only disable this if you are sure you need to."; ObjectID = "QRy-CY-ENC"; */ +"QRy-CY-ENC.title" = "Si se habilita, cada comando {CONTROL} será enviado como ⌘. Only disable this if you are sure you need to."; + +/* Class = "NSButtonCell"; title = "Include Entry Tags for matches"; ObjectID = "rbu-G7-MT8"; */ +"rbu-G7-MT8.title" = "Incluir etiquetas de la entrada en las búsquedas"; + +/* Class = "NSButtonCell"; title = "Include Entry Title for matches"; ObjectID = "tmL-dT-D0G"; */ +"tmL-dT-D0G.title" = "Incluir el título de las entradas en las búsquedas"; + +/* Class = "NSButtonCell"; title = "Include Entry URL for matches"; ObjectID = "TzR-00-Vp3"; */ +"TzR-00-Vp3.title" = "Incluir la URL de la entrada en las búsquedas"; /* Class = "NSBox"; title = "Preview"; ObjectID = "VVs-b5-cX9"; */ "VVs-b5-cX9.title" = "Vista Previa"; @@ -23,8 +43,3 @@ /* Class = "NSTextFieldCell"; title = "If enabled attached files will be copied to a temporary location for preview and deleted after the preview is closed."; ObjectID = "WmI-IB-Aso"; */ "WmI-IB-Aso.title" = "Si se habilita, los archivos adjuntos serán copiados a una carpeta temporal para generar la vista previa y serán elimiandos al cerrarla. Esto es un riesgo de seguridad."; -/* Class = "NSButtonCell"; title = "Interpret ⌃ as ⌘"; ObjectID = "QfO-yG-l3F"; */ -"QfO-yG-l3F.title" = "Intérprete ⌃ as ⌘"; - -/* Class = "NSTextFieldCell"; title = "If enabled, every {CONTROL} command will be sent as ⌘. Only disable this if you are sure you need to."; ObjectID = "QRy-CY-ENC"; */ -"QRy-CY-ENC.title" = "Si se habilita, cada comando {CONTROL} será enviado como ⌘. Only disable this if you are sure you need to."; diff --git a/MacPass/es.lproj/Localizable.strings b/MacPass/es.lproj/Localizable.strings index f644eec8..ea3950ac 100644 --- a/MacPass/es.lproj/Localizable.strings +++ b/MacPass/es.lproj/Localizable.strings @@ -1,198 +1,816 @@ -/* Formatted Times */ -"%ld_DAYS_AGO" = "hace %ld días"; -"%ld_HOURS_AGO" = "hace aproximadamente %ld horas"; -"%ld_MINUTES_AGO" = "hace %ld minutos"; -"%ld_WEEKS_AGO" = "hace %ld semanas"; -"JUST_NOW" = "Justo ahora"; -"LAST_WEEK" = "La semana pasada"; -"ONE_WEEK_AGO" = "Hace una semana"; -"YESTERDAY" = "Ayer"; -"TOMORROW" = "Mañana"; -"ONE_WEEK" = "en una semana"; -"ONE_MONTH" = "en un mes"; -"90_DAYS" = "en 90 días"; -"ONE_YEAR" = "en un año"; +/* Count of characters remaining in pickchars dialog */ +"%ld_CHARACTERS_TO_PICK_REMAINING" = "%ld caracteres disponibles para seleccionar"; -/* Date Picker */ -"SELECT_DATE_PRESET" = "Usar predefinido…"; +/* Display format for days. Should contain a long decimal placeholder! */ +"%ld_DAYS" = "%ld días"; + +/* % days ago */ +"%ld_DAYS_AGO" = "hace %ld días"; + +/* % Hours ago */ +"%ld_HOURS_AGO" = "hace aproximadamente %ld horas"; + +/* % Minutes ago */ +"%ld_MINUTES_AGO" = "hace %ld minutos"; + +/* % Weeks ago */ +"%ld_WEEKS_AGO" = "hace %ld semanas"; + +/* preset to expire after 90 days from now */ +"90_DAYS" = "en 90 días"; + +/* Button label to abort a merge on a file with changed master key! */ +"ABORT_MERGE_KEEP_MINE" = "Cancelar fusión. Mantener el mío."; + +/* Toolbar item with action menu */ +"ACTION" = "Acción"; + +/* Menu item title for adding an hmacotp config attribute */ +"ADD_CUSTOM_ATTRIBUTE_HMACOTP_CONFIG" = "Añadir configuración HMACOTP"; + +/* Menu item title for adding an hmacotp seed attribute */ +"ADD_CUSTOM_ATTRIBUTE_HMACOTP_SEED" = "Añadir semilla HMACOTP"; + +/* Menu displayed for adding special custom keys */ +"ADD_CUSTOM_FIELD_CONTEXT_MENU" = "Añadir campo personalizado al menú"; + +/* Action to add an entry via template */ +"ADD_TREMPLATE_ENTRY" = "Crear Plantilla de Entrada"; + +/* Allow the download of the plugin repository file */ +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_ALLOW_DOWNLOAD" = "No actualizar definiciones"; + +/* Informative text displayed on the alert that shows up when MacPass asks for permssion to download the plugin repository JSON file */ +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_INFORMATIVE_TEXT" = "Las definiciones de los plugin están almacenadas online en https://macpassapp.org. A MacPass le gustaría descargar los archivos para asegurar que los datos están actualizados"; + +/* Message displayed on the alert that asks for permission to download the plugin repository JSON file */ +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_MESSAGE" = "A MacPass le gustaría comprobar las actualizaciones de las definiciones de los plugin online"; + +/* Disallow the download of the plugin repository file */ +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD" = "Actualizar las definiciones online"; + +/* Button in dialog to leave autotype disabled and continiue! */ +"ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_BUTTON_OK" = "Mantener Autotecleo deshabilitado."; + +/* Button in dialog to open accessibilty preferences pane! */ +"ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_BUTTON_OPEN_PREFERENCES" = "Abrir las preferencias de accesibilidad..."; + +/* Alert informative text displayed when Autotype performs self check and lacks accessibilty permissions */ +"ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_INFORMATIVE_TEXT" = "El sistema evita que MacPass envíe las pulsaciones de las teclas a otras aplicaciones. Para habilitar el Autotecleo por favor concede permisos de accesibilidad a MacPass en las preferencias de privacidad."; + +/* Alert message displayed when Autotype performs self check and lacks accessibilty permissions */ +"ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_MESSAGE_TEXT" = "MacPass no puede realizar el Autotecleo"; + +/* Button in dialog to leave plugin ds disabled and continiue! */ +"ALERT_INCOMPATIBLE_PLUGINS_ENCOUNTERED_BUTTON_OK" = "OK"; + +/* Button in dialog to open plugin preferences pane! */ +"ALERT_INCOMPATIBLE_PLUGINS_ENCOUNTERED_BUTTON_OPEN_PREFERENCES" = "Mostrar preferencias del plugin…"; + +/* Informative text of the alert displayed when plugins where disabled due to incompatibilty */ +"ALERT_INCOMPATIBLE_PLUGINS_ENCOUNTERED_INFORMATIVE_TEXT" = "Algunos plugins fueron deshabilitados porque no son compatibles con esta version de MacPass. Abra la configuración del plugin para obtener detalles."; + +/* Message text of the alert displayed when plugins where disabled due to incompatibilty */ +"ALERT_INCOMPATIBLE_PLUGINS_ENCOUNTERED_MESSAGE" = "Plugins incompatibles detectados."; + +/* Alert informative text when plugins or their settings change and require a restart */ +"ALERT_INFORMATIVE_TEXT_PLUGINS_CHANGED_SUGGEST_RESTART" = "Los cambios a los plugins y sus configuraciones globales sólo tienen efecto tras reiniciar ¿Reiniciar MacPass ahora?"; + +/* Alert informative text to ask the user if he really want to uninstall the plugin */ +"ALERT_INFORMATIVE_TEXT_REALLY_UNINSTALL_PLUGIN" = "Se moverá el plugin a la papelera."; + +/* Button in dialog to cancel merge of KDB file changes! */ +"ALERT_MERGE_CANCEL" = "Cancelar"; + +/* Button in dialog to merge KDB changes into file! */ +"ALERT_MERGE_CONTINUE" = "¡Fusionar archivos!"; + +/* Informative text displayed when merging KDB files */ +"ALERT_MERGE_KDB_FILE_INFO_TEXT" = "Las bases de datos KDB no contienen suficiente información para una fusión perfecta. Las entradas se fusionarán y no se perderá información, pero debido a que los grupos se fusionan únicamente por nombre pueden ocurrir cambios inesperados. Las entradas migradas podrían moverse a sus antiguos grupos o los grupos renombrados podrían no fusionarse. Además las entradas eliminadas podrían reaparecer debido a que no se almacena información sobre los objetos eliminados. ¿Proceder de todas formas?"; + +/* Alert message warning user about KDB file merge */ +"ALERT_MERGE_KDB_FILE_MESSAGE" = "Está fusionando una base de datos KDB"; + +/* Alert message text when plugins or their settings change and require a restart */ +"ALERT_MESSAGE_PLUGINS_CHANGED_SUGGEST_RESTART" = "Configuración de plugin modificada. Reinicie por favor."; + +/* Alert message text to ask the user if he really want to uninstall the plugin. Include %@ placeholder for plugin name */ +"ALERT_MESSAGE_TEXT_REALLY_UNINSTALL_PLUGIN_%@" = "¿Debe desinstalarse realmente el plugin %@?"; + +/* Infromative text of the disabled updates alert! */ +"ALERT_UPDATES_DISABLED_INFORMATIVE_TEXT_%@!" = "¡Las actualizaciones para este Build de %@ están deshabilitadas!"; + +/* Message text for disabled updates alert! */ +"ALERT_UPDATES_DISABLED_MESSAGE_TEXT" = "¡Las actualizaciones están deshabilitadas!"; + +/* Attachments column title (shows counts) + Menu item to toggle display of attachment count column in entry table */ +"ATTACHMENTS" = "Adjuntos"; + +/* Sucessfully merged external changes */ +"AUTO_MERGE_NOTIFICATION_TEXT" = "¡Éxito en la fusión automática!"; /* Menu item for automatic trash creation */ "AUTOCREATE_TRASH_FOLDER" = "Crear automáticamente"; -/* - Actions - */ -"NEW_ENTRY" = "Agregar Entrada"; -"NEW_GROUP" = "Agregar Grupo"; -"DUPLICATE_ENTRY" = "Duplicar Entrada"; -"DUPLICATE_ENTRY_WITH_OPTIONS" = "Duplicar Entrada…"; -"COPY_ENTRY" = "Copiar Entrada"; -"COPY_GROUP" = "Copiar Grupo"; -"ADD_TREMPLATE_ENTRY" = "Crear Plantilla de Entrada"; -"DELETE_GROUP" = "Eliminar Grupo"; -"DELETE_ENTRY" = "Eliminar Entrada"; -"EDIT_TEMPLATE_GROUP" = "Editar Grupo de Plantilla"; -"EMPTY_TRASH" = "Vaciar Papelera"; -"MOVE_ENTRY" = "Mover Entrada"; -"MOVE_GROUP" = "Mover Grupo"; -"NEW_ENTRY_WITH_TEMPLATE_%@" = "Crear Entrada con Plantilla %@"; -"NEW_DATABASE" = "Base de Datos"; -"OPEN_URL" = "Abrir URL"; -"PERFORM_AUTOTYPE_FOR_ENTRY" = "Generar Autollenado"; -"PREVIEW" = "Vista Previa"; -"PASSWORD_GENERATOR_SET_DEFAULTS" = "Configurar Predeterminados"; -"PASSWORD_GENERATOR_RESET_ENTRY_DEFAULTS" = "Reiniciar"; -"TRASH_ENTRY" = "Entrada de Papelera"; -"TRASH_GROUP" = "Grupo de Papelera"; -"SHOW_HISTORY" = "Mostrar Historial"; +/* Message text in the autotype selection window. Placeholder is %1 - windowTitle */ +"AUTOTYPE_CANDIDATE_SELECTION_WINDOW_MESSAGE_%@" = "Hay coincidencias múltiples para la ventana actual: %@. Por favor selecciona cual usar."; -/* - Search - */ -"CLEAR_RECENT_SEARCHES" = "Limpiar búsquedas recientes"; -"RECENT_SEARCHES" = "Búsquedas recientes"; -"SEARCH_DUPLICATE_PASSWORDS" = "Contraseñas duplicadas"; -"SEARCH_EXPIRED_ENTRIES" = "Expirado"; -"SELECT_FILTER_WITH_DOTS" = "Seleccionar…"; +/* Window title for the stand-alone password creator window */ +"AUTOTYPE_DOCTOR_RESULTS_WINDOW_TITLE" = "Doctor de Autotecleo"; -/* - Direct Translations - */ -"ACTION" = "Acción"; -"ATTACHMENTS" = "Adjuntos"; +/* Inherit autotype settings menu item */ +"AUTOTYPE_INHERIT" = "Heredar Configuración de Autotecleo"; + +/* Message displayed to the user to unlock the database to perform global autotype */ +"AUTOTYPE_MESSAGE_UNLOCK_DATABASE" = "Por favor desbloquee la base de datos para usar el Autotecleo global"; + +/* Disable autotype menu item */ +"AUTOTYPE_NO" = "Deshabilitar Autotecleo"; + +/* Notification: Autotype failed, MacPass has not enough permissions to perform autotype */ +"AUTOTYPE_NOTIFICATION_MACPASS_IS_MISSING_PERMISSIONS" = "Autotecleo no tiene los permisos necesarios"; + +/* Notification: Autotype failed, no documents are open */ +"AUTOTYPE_OVERLAY_NO_DOCUMENTS" = "Debes abrir un archivo para usar Autotecleo Global"; + +/* Noticiation: Autotype failed to find a match for %@ (string placeholder) */ +"AUTOTYPE_OVERLAY_NO_MATCH_FOR_%@" = "¡No hay entradas para %@!"; + +/* Notification: Autotype found a single match for %@ (string placeholder). */ +"AUTOTYPE_OVERLAY_SINGLE_MATCH_FOR_%@" = "¡%@ Encontrado!"; + +/* Status lable when no issue were found in accessibilty */ +"AUTOTYPE_STATUS_ACCESSIBILTY_PERMISSIONS_OK" = "MacPass tiene permiso para controlar su ordenador (Accesibilidad)"; + +/* Status MacPass has no accessibilty permissions */ +"AUTOTYPE_STATUS_NO_ACCESSIBILTY_PERMISSIONS" = "MacPass no tiene permiso para controlar su ordenador (Accesibilidad)"; + +/* Status MacPass has no screen recording permissions */ +"AUTOTYPE_STATUS_NO_SCREEN_RECORDING_PERMISSIONS" = "MacPass no tiene permiso para grabar su pantalla"; + +/* Status lable when no issue were found in screen recording permissions */ +"AUTOTYPE_STATUS_SCREEN_RECORDING_PERMISSIONS_OK" = "MacPass tiene permiso para grabar su pantalla"; + +/* Notficication: Autotype timed out */ +"AUTOTYPE_TIMED_OUT" = "El tiempo de autotecleo expiró."; + +/* Enable autotype menu item */ +"AUTOTYPE_YES" = "Habilitar Autotecleo"; + +/* Cancel */ "CANCEL" = "Cancelar"; -"DATABASE" = "Base de Datos"; -"DELETE" = "Eliminar"; -"EDIT" = "Editar"; -"GROUP" = "Grupo"; -"INSPECTOR" = "Inspector"; -"LOCK" = "Bloquear"; -"MODIFIED" = "Modificado"; -"NONE" = "Ninguno"; -"NOTES" = "Notas"; -"PASSWORD" = "Contraseña"; -"SAVE" = "Guardar"; -"SAVE_WITH_DOTS" = "Guardar…"; -"SEARCH" = "Buscar"; -"TITLE" = "Título"; -"URL" = "URL"; -"USERNAME" = "Nombre de usuario"; -"WINDOWS" = "Ventanas"; - +/* Menu item in the database outline context menu to change the database name */ "CHANGE_DATABASE_NAME" = "Cambiar Nombre de Base"; -"CHANGE_TRASH_GROUP" = "Cambiar Grupo de Papelera"; -/* Field nam that was copied to the pasteboard */ -"COPIED_FIELD_%@" = "%@ copiado"; -"COPIED_PASSWORD" = "Contraseña copiada"; -"COPIED_URL" = "URL copiada"; -"COPIED_USERNAME" = "Nombre de usuario copiado"; -"COPY_CUSTOM_FIELDS" = "Copiar Campos Personalizados"; -"COPY_FIELD_%@" = "Copiar %@"; -"COPY_PASSWORD" = "Copiar Contraseña"; -"COPY_URL" = "Copy URL"; -"COPY_USERNAME" = "Copiar Nombre de Usuario"; +/* Button to postpone the password change */ +"CHANGE_LATER" = "Cambiar más tarde"; -/* Dock Badge */ -"CLEARING_PASTEBOARD" = "…"; - -/* Group Inspector */ -/* Autotype Combobox */ -"AUTOTYPE_NO" = "Deshabilitar Autollenado"; -"AUTOTYPE_YES" = "Habilitar Autollenado"; -"AUTOTYPE_INHERIT" = "Heredar Configuración de Autollenado"; - -/* Search Combobox */ -"SEARCH_INHERIT" = "Heredar Configuración de Búsqueda"; -"SEARCH_YES" = "Incluir en Búsqueda"; -"SEARCH_NO" = "Exluir de Búsqueda"; - -/* - Date/Time Displays - */ -/* Created at template string. %@ is replaced by localized date and time */ -"CREATED_AT_%@" = "Creado: %@"; -/* Modifed at template string. %@ is replaced by localized date and time */ -"MODIFED_AT_%@" = "Modificado: %@"; - -"EXPIRES_AT_DATE_%@" = "Expira: %@"; -"NO_EXPIRE_DATE_SET" = "No expira."; - -/* - Defaults for new objects - */ -"DEFAULT_CUSTOM_FIELD_TITLE" = "Personalizado"; -"DEFAULT_CUSTOM_FIELD_VALUE" = "Valor"; -"DEFAULT_ENTRY_TITLE" = "Nueva Entrada"; -"DEFAULT_GROUP_NAME" = "Nuevo Grupo"; -"DEFAULT_WINDOW_TITLE" = "Título de Ventana"; - -/* Settings */ -"GENERAL_PREFERENCES" = "General"; -"INTEGRATION_SETTINGS" = "Integración"; -"UPDATE_PREFERENCES" = "Actualizaciones"; -"WORKFLOW_SETTINGS" = "Flujo de Trabajo"; -"DEFAULT_BROWSER" = "Navegador Predeterminado"; -"OTHER_BROWSER" = "Seleccionar Navegador…"; -"PLUGIN_SETTINGS" = "Plugins"; - -/* Feature not supported in Version */ -"KDBX_ONLY_FEATURE" = "Caraterística no soportada en archivos KDB"; - -/* Template */ -"NO_TEMPLATE_GROUP" = "Sin plantillas"; -"NO_TEMPLATES" = "No se han encontrado Plantillas"; - -/* Kefile */ -"SAVE_KEYFILE" = "Guardar Keyfile"; - -/* Autoype */ -/* Candiate dialog */ -"SELECT_AUTOTYPE_CANDIDATE" = "Seleccionar candidato"; -"AUTOTYPE_OVERLAY_NO_DOCUMENTS" = "Debes abrir un archivo para usar Autollenado Global"; -"AUTOTYPE_OVERLAY_NO_MATCH_FOR_%@" = "No hay registros para %@!"; -"AUTOTYPE_OVERLAY_SINGLE_MATCH" = "Encontrado"; - -/* Alert Dialogs */ -"WARNING_ON_EMPTY_TRASH_DESCRIPTION" = "Vaciar la Papelera es una acción no reversible."; -"WARNING_ON_EMPTY_TRASH_TITLE" = "¿Vaciar Papelera?"; -"WARNING_ON_LOSSY_SAVE" = "Al guardar en formato KDB, se perderán algunos datos."; -"WARNING_ON_LOSSY_SAVE_DESCRIPTION" = "El formato de archivo KDB no permite guardar toda la información."; -"CHANGE_FORMAT" = "Cambiar formato de archivo a KDBX"; - -"ENFORCE_PASSWORD_CHANGE_ALERT_TITLE" = "La contraseña de la base de datos ha expirado"; -"ENFORCE_PASSWORD_CHANGE_ALERT_DESCRIPTION" = "No será posible guardar cambios hsata que la contraseña o el keyfile sean modificados."; - -"RECOMMEND_PASSWORD_CHANGE_ALERT_TITLE" = "Por favor, cambia la contraseña para la base de datos."; -"RECOMMEND_PASSWORD_CHANGE_ALERT_DESCRIPTION" = "Es recomendado cambiar la contraseña y/o el keyfile."; +/* Button to show the password change dialog + Single button to show the password change dialog */ "CHANGE_PASSWORD_WITH_DOTS" = "Cambiar Contraseña…"; -"WARNING_ON_SAVE_NO_PASSWORD_OR_KEY_SET" = "No hay contraseña o keyfile establecido."; -"WARNING_ON_SAVE_NO_PASSWORD_OR_KEY_SET_SUGGESTION" = "Por favor genera una contraseña o un keyfile para esta base de datos. Al salir, se perderán todos los cambios y el documento quedará bloqueado."; +/* Menu item in the database outline context menu to change the trash group */ +"CHANGE_TRASH_GROUP" = "Cambiar Grupo de Papelera"; + +/* Button title in the key file selection dialog for selecting a key */ +"CHOOSE_FILE_BUTTON_TITLE" = "Abrir"; + +/* Clear Autotype Button */ +"CLEAR_AUTOTYPE" = "Limpiar Autotecleo"; + +/* Menu to clear recent searches */ +"CLEAR_RECENT_SEARCHES" = "Limpiar búsquedas recientes"; + +/* String displayed at dock badge when clipboard is about to be cleared */ +"CLEARING_PASTEBOARD" = "Vaciado"; + +/* Field name that was copied to the pasteboard */ +"COPIED_FIELD_%@" = "%@ copiado"; + +/* Context menu that copies reference to note */ +"COPIED_NOTES_REFERENCE" = "¡Referencia a notas copiada!"; + +/* Password was copied to the pasteboard */ +"COPIED_PASSWORD" = "Contraseña copiada"; + +/* Context menu that copies reference to password */ +"COPIED_PASSWORD_REFERENCE" = "¡Referencia a contraseña copiada!"; + +/* Context menu that copies reference to title */ +"COPIED_TITLE_REFERENCE" = "¡Referencia a título copiada!"; + +/* URL was copied to the pasteboard */ +"COPIED_URL" = "URL copiada"; + +/* Context menu that copies reference to URL */ +"COPIED_URL_REFERENCE" = "¡Referencia a URL copiada!"; + +/* Username was copied to the pasteboard */ +"COPIED_USERNAME" = "Nombre de usuario copiado"; + +/* Context menu that copies reference to username */ +"COPIED_USERNAME_REFERENCE" = "¡Referencia a nombre de usuario copiado!"; + +/* Submenu to copy attributes as reference */ +"COPY_AS_REFERENCE" = "Copiar referencia a…"; + +/* Context menu sub-menu to copy attributes as reference */ +"COPY_AS_REFERENCE_MENU" = "Menú copiar como referencia"; + +/* Submenu to Copy custom fields */ +"COPY_CUSTOM_FIELDS" = "Copiar Campos Personalizados"; + +/* Context menu sub-menu to copy custom fields to clipboard */ +"COPY_CUSTOM_FIELDS_MENU" = "Copiar Campo Personalizado…"; + +/* Action name when an entry was moved + Action title for copying an entry via drag and drop */ +"COPY_ENTRY" = "Copiar Entrada"; + +/* Mask for title to copy field value */ +"COPY_FIELD_%@" = "Copiar %@"; + +/* Action title for copying a group via drag and drop */ +"COPY_GROUP" = "Copiar Grupo"; + +/* Context menu that copies reference to note */ +"COPY_NOTES_REFERENCE" = "Notas"; + +/* Menu item to copy the password of an entry + Toolbar item copy password */ +"COPY_PASSWORD" = "Copiar Contraseña"; + +/* Context menu that copies reference to password */ +"COPY_PASSWORD_REFERENCE" = "Contraseña"; + +/* Context menu that copies reference to title */ +"COPY_TITLE_REFERENCE" = "Título"; + +/* Menu item to copy the URL of an entry */ +"COPY_URL" = "Copiar URL"; + +/* Context menu that copies reference to URL */ +"COPY_URL_REFERENCE" = "URL"; + +/* Menu item to copy the username of an entry + Toolbar item copy username */ +"COPY_USERNAME" = "Copiar Nombre de Usuario"; + +/* Context menu that copies reference to username */ +"COPY_USERNAME_REFERENCE" = "Nombre de usuario"; + +/* Curstom attribute reference item */ +"CUSTOM_ATTRIBUTE" = "Atributo personalizado"; + +/* Title for menu for custom search filters */ +"CUSTOM_SEARCH_FILTER_MENU" = "Filtro de búsqueda personalizado…"; + +/* Default display name for KDB databases */ +"DATABASE" = "Base de Datos"; + +/* Default Browser */ +"DEFAULT_BROWSER" = "Navegador Predeterminado"; + +/* Default Titel for new Custom-Fields */ +"DEFAULT_CUSTOM_FIELD_TITLE" = "Personalizado"; + +/* Default Value for new Custom-Fields */ +"DEFAULT_CUSTOM_FIELD_VALUE" = "Valor"; + +/* Title for a newly created entry */ +"DEFAULT_ENTRY_TITLE" = "Nueva Entrada"; + +/* Title for a newly created group */ +"DEFAULT_GROUP_NAME" = "Nuevo Grupo"; + +/* Default window title for a new window association */ +"DEFAULT_WINDOW_TITLE" = "Título de Ventana"; + +/* Menu item in the database outline context menu to delete the node from the trash + Menu item to delete an entry + Menu item to delete the selected attached file + Menu item to delete the selected custom icon + Toolbar item delete item */ +"DELETE" = "Eliminar"; + +/* Delete Entry */ +"DELETE_ENTRY" = "Eliminar Entrada"; + +/* Delete Group */ +"DELETE_GROUP" = "Eliminar Grupo"; + +/* Empty Trash */ +"DELETE_TRASHED_ENTRY" = "Eliminar entrada definitivamente"; + +/* Empty Trash */ +"DELETE_TRASHED_GROUP" = "Eliminar grupo definitivamente"; + +/* Action title for copying an entry via drag and drop to another database + Action title for moving an entry via drag and drop */ +"DRAG_ENTRY" = "Arrastrar entrada"; + +/* Action title for moving a group via drag and drop + Actiontitle for copying groups via drag and drop to antother database */ +"DRAG_GROUP" = "Arrastrar grupo"; + +/* Action name for duplicating entries */ +"DUPLICATE_ENTRIES_%ld" = "%ld entradas duplicadas"; + +/* Menu item to directly diplicate an entry */ +"DUPLICATE_ENTRY" = "Duplicar Entrada"; + +/* Menu item to duplicate an entry with options how to duplicate. Will present a dialog. */ +"DUPLICATE_ENTRY_WITH_OPTIONS" = "Duplicar Entrada…"; + +/* Menu item in the database outline context menu to change the template group + Menu item on the add entry context menu to edit template groups */ +"EDIT_TEMPLATE_GROUP" = "Editar Grupo de Plantilla"; + +/* Empty Trash + Menu item in the database outline context menu to empyt the trash + Menu item in the database outline to empty the trash + Menu item to empty the trash */ +"EMPTY_TRASH" = "Vaciar Papelera"; + +/* Informative text for the enforce password change alert */ +"ENFORCE_PASSWORD_CHANGE_ALERT_DESCRIPTION" = "No será posible guardar cambios hsata que la contraseña o el keyfile sean modificados."; + +/* Message text for the enforce password change alert */ +"ENFORCE_PASSWORD_CHANGE_ALERT_TITLE" = "La contraseña de la base de datos ha caducado"; + +/* Group row for entry attributes */ +"ENTRY_CUSTOM_ATTRIBUTES" = "Atributos personalizados"; + +/* Group row for entry attributes */ +"ENTRY_DEFAULT_ATTRIBUTES" = "Atributos por defecto"; + +/* Tooltip displayed on the index header cell */ +"ENTRY_INDEX_COLUMN_TOOLTIP" = "Columna para ordenar definida por usuario"; + +/* Keyfile not valid */ +"ERROR_INVALID_KEYFILE" = "¡El Keyfile no es válido!"; + +/* Error description given when adding an invalid plugin */ +"ERROR_INVALID_PLUGIN" = "Plugin inválido"; + +/* Error description for missing accessibilty permissions */ +"ERROR_NO_ACCESSIBILTY_PERMISSIONS" = "MacPass no tiene permiso para controlar su ordenador (Accesibilidad)"; + +/* Error description for missing screen recording permissions */ +"ERROR_NO_PERMISSION_TO_RECORD_SCREEN" = "MacPass no tiene permiso para grabar su pantalla"; + +/* Passwords do not match */ +"ERROR_PASSWORD_MISSMATCH" = "¡Las contraseñas no coinciden!"; + +/* Passwords do not match, keyfile is invalid */ +"ERROR_PASSWORD_MISSMATCH_INVALID_KEYFILE" = "Las contraseñas no coinciden y el keyfile no es válido"; + +/* Recommend/Enforce key change intervall format */ +"EVERY_%ld_DAYS" = "Cada %ld días"; + +/* Format to returen the date an item expires. Includes %@ placehoder for date */ +"EXPIRES_AT_DATE_%@" = "Caduca: %@"; + +/* The master key was changed by an external program! */ +"EXTERN_CHANGE_OF_MASTERKEY" = "La contraseña maestra se modifico por otro programa"; + +/* External file change strategy option: ask what to do */ +"FILE_CHANGE_STRATEGY_ASK" = "Preguntar"; + +/* External file change strategy option: Keep local file an ignore external changes */ +"FILE_CHANGE_STRATEGY_KEEP_MINE" = "Mantener mi versión e ignorar otros cambios"; + +/* Button in dialog to merge changes into file! + External file change strategy option: Merge external changes into local file. */ +"FILE_CHANGE_STRATEGY_MERGE" = "Fusionar cambios"; + +/* External file change strategy option: Use the changed file and discard local changes */ +"FILE_CHANGE_STRATEGY_USE_OTHER" = "Cargar la versión modificada y descartar la mía"; + +/* Informative text displayed when the file was change from another application */ +"FILE_CHANGED_BY_OTHERS_INFO_TEXT" = "El archivo cargado no coincide con el guardado en el disco. ¿Cómo deseas continuar?"; /* Message displayed when an open file was changed from another application */ -"FILE_CHANGED_BY_OTHERS_MESSAGE_TEXT" = "El archivo de la base de datos ha sido modificado"; -/* Informative text displayed when the file was change form another application */ -"FILE_CHANGED_BY_OTHERS_INFO_TEXT" = "El archivo cargado no coincide con el guardado en el disco. ¿Deseas continuar?"; -/* Set the selection as default file change strategy */ -"SET_AS_DEFAULT_FILE_CHANGE_STRATEGY" = "Utilizar la estrategia seleccionada y no volverme a preguntar."; -/* Always show a dialog after an external file change */ -"FILE_CHANGE_STRATEGY_ASK" = "Preguntarme qué hacer"; -/* Button to ignore the changes */ -"KEEP_MINE" = "Conservar versión actual y descartar cambios"; -/* Merge changes into file! */ -"MERGE_CHANGES" = "Unir cambios"; +"FILE_CHANGED_BY_OTHERS_MESSAGE_TEXT" = "¡El archivo de la base de datos ha sido modificado!"; -/* Password Input Messages, Errors and Warning */ +/* Error while reopening last known documents */ +"FILE_OPEN_ERROR" = "¡Error al abrir el archivo!"; + +/* General Settings Label */ +"GENERAL_PREFERENCES" = "General"; + +/* Group column title */ +"GROUP" = "Grupo"; + +/* History count column title + Menu item to toggle display of history count column in entry table */ +"HISTORY" = "Historial"; + +/* Imports a dragged URL for a new entry */ +"IMPORT_URL" = "Importar URL"; + +/* Toolbar item toggle inspector */ +"INSPECTOR" = "Inspector"; + +/* Label for the integration settings tab */ +"INTEGRATION_SETTINGS" = "Integración"; + +/* Just now */ +"JUST_NOW" = "Justo ahora"; + +/* Feature only available in kdbx databases */ +"KDBX_ONLY_FEATURE" = "Caraterística no soportada en archivos KDB"; + +/* Button in dialog to ignore the changes to an open file! */ +"KEEP_MINE_DISCARD_OTHER" = "Mantener mis cambios, descartar los cambios externos"; + +/* Button in dialog to reopen the file! */ +"KEEP_OTHER_DISCARD_MINE" = "Descartar mis cambios, recargar archivo"; + +/* Do not install the plugin */ +"KEEP_PLUGIN" = "Mantener el Plugin"; + +/* Do not restart MacPass */ +"KEEP_RUNNING" = "No reiniciar"; + +/* last week */ +"LAST_WEEK" = "La semana pasada"; + +/* Toolbar item to Lock the database */ +"LOCK" = "Bloquear"; + +/* Message in the open panel to add attachments to an entry */ +"MESSAGE_ADD_ATTACHMENT_OPEN_PANEL" = "Seleccionar el archivo a adjuntar"; + +/* Message in the add plugin open panel */ +"MESSAGE_ADD_PLUGIN_OPEN_PANEL" = "Seleccionar el plugin a instalar"; + +/* Message in the open panel to import an XML file */ +"MESSAGE_XML_OPEN_PANEL" = "Seleccionar el archivo XML a importar"; + +/* Menu item to toggle display of modified date column in entry table + Modification date column title */ +"MODIFIED" = "Modificado"; + +/* Action name when an entry was moved */ +"MOVE_ENTRY" = "Mover Entrada"; + +/* Menu displayed as popup selection for search options when multiple items are selected */ +"MULTIPLE_FILTERS_ACTIVE_WITH_DOTS" = "Multiple…"; + +/* Name for a newly created Database */ +"NEW_DATABASE" = "Base de Datos"; + +/* Action name for a newly created entry + Menu item to create a new entry + Toolbar item new entry */ +"NEW_ENTRY" = "Agregar Entrada"; + +/* Submenu to add an entry via template */ +"NEW_ENTRY_WITH_TEMPLATE_%@" = "Crear Entrada con Plantilla %@"; + +/* Action name for a newly created group + Menu item to create a new group + Toolbar item new group */ +"NEW_GROUP" = "Agregar Grupo"; + +/* Expiration date format, when item does not expire */ +"NO_EXPIRE_DATE_SET" = "No caduca."; + +/* Menu item to reset the template groups */ +"NO_TEMPLATE_GROUP" = "Sin plantillas"; + +/* Menu item added to show that no templates are defined */ +"NO_TEMPLATES" = "No se han encontrado Plantillas"; + +/* Null placeholder for item input field + Placeholder text for input fields if no entry or group is selected */ +"NONE" = "Ninguno"; + +/* Displayed name when notes or part of notes was copied + Menu item to toggle display of notes column in entry table + Notes column title + Notes reference item */ +"NOTES" = "Notas"; + +/* Ok Button to dismiss disabled updates alert */ +"OK" = "OK"; + +/* preset to expire after one montch from now */ +"ONE_MONTH" = "en un mes"; + +/* preset to expire after one week from now */ +"ONE_WEEK" = "en una semana"; + +/* one week ago */ +"ONE_WEEK_AGO" = "Hace una semana"; + +/* preset to expire after one year from now */ +"ONE_YEAR" = "en un año"; + +/* Open button in the open panel to add attachments to an entry */ +"OPEN_BUTTON_ADD_ATTACHMENT_OPEN_PANEL" = "Adjuntar"; + +/* Open button in the add plugin open panel */ +"OPEN_BUTTON_ADD_PLUGIN_OPEN_PANEL" = "Instalar"; + +/* Open button in the open panel to import an XML file */ +"OPEN_BUTTON_IMPORT_XML_OPEN_PANEL" = "Importar"; + +/* Action button in Notification to open a document */ +"OPEN_DOCUMENT" = "Abrir Documento"; + +/* Menu item to open the URL with the default application */ +"OPEN_URL" = "Abrir URL"; + +/* Select Browser */ +"OTHER_BROWSER" = "Seleccionar Navegador…"; + +/* No comment provided by engineer. */ +"OUTPUT_VALUE" = "Valor de salida"; + +/* Menu item to toggle display of password column in entry table + Password column title + Password reference item */ +"PASSWORD" = "Contraseña"; + +/* Window title for the stand-alone password creator window */ +"PASSWORD_CREATOR_WINDOW_TITLE" = "Generador de contraseña"; + +/* Button to reset the password defaults for a single entry */ +"PASSWORD_GENERATOR_RESET_ENTRY_DEFAULTS" = "Reiniciar"; + +/* Button to set the defaults of the password generator */ +"PASSWORD_GENERATOR_SET_DEFAULTS" = "Configurar Predeterminados"; + +/* Placeholder for the password field to aks for password + Placeholder in the unlock-password input field if password is enabled */ +"PASSWORD_INPUT_ENTER_PASSWORD" = "Introducir Contraseña"; + +/* Placeholder for the password input field if passwords are disabled + Placeholder for the repeat password input if passwords are disabled + Placeholder in the unlock-password input field if password is disabled */ "PASSWORD_INPUT_NO_PASSWORD" = "Sin Contraseña"; -"PASSWORD_INPUT_ENTER_PASSWORD" = "Ingresar Contraseña"; -"PASSWORD_INPUT_REPEAT_PASSWORD" = "Repetir Contraseña"; -"WARNING_NO_PASSWORD_OR_KEYFILE" = "Sin contraseña o keyfile"; -"ERROR_PASSWORD_MISSMATCH_INVALID_KEYFILE" = "Las contraseñas no coinciden y el keyfile no es válido"; -"ERROR_PASSWORD_MISSMATCH" = "Las contraseñas no coinciden"; -"ERROR_INVALID_KEYFILE" = "El Keyfile no es válido"; -/* Misc */ -"DOCUMENT_AUTOTYPE_CORRUPTION_WARNING" = "Por favor ejecuta Corregir Autollenado..."; -"FILE_OPEN_ERROR" = "Error al abrir el archivo."; +/* Placeholder for the repeat password field to aks for the repeated password */ +"PASSWORD_INPUT_REPEAT_PASSWORD" = "Repetir Contraseña"; + +/* Menu item to perform autotype with the selected entry */ +"PERFORM_AUTOTYPE_FOR_ENTRY" = "Generar Autotecleo"; + +/* Info about how many character has to pick in pickchar dialog */ +"PICKCHAR_INFO_MESSAGE_PICK_CHARACTERS_%ld" = "Por favor seleccione %ld caracteres"; + +/* Window displayed to the user to pick an amout of characters */ +"PICKCHAR_WINDOW_TITLE" = "Selector de caracteres"; + +/* Count of picked characters in pickchars dialog if no limit is set */ +"PICKED_%ld_CHARACTERS" = "Seleccionados %ld caracteres"; + +/* Window displayed to the user to pick an amout of characters */ +"PICKFIELD_WINDOW_TITLE" = "Selector de campo"; + +/* Label for the button when a download is in progress! */ +"PLUGIN_BROWSER_ACTION_DOWNLOAD_IN_PROGRESS" = "Descargando…"; + +/* Label for the button when a download did not succeed */ +"PLUGIN_BROWSER_ACTION_RETRY_FAILED_DOWNLOAD" = "Error. Volver a descargar"; + +/* Label for the button to show a downloaded file */ +"PLUGIN_BROWSER_ACTION_SHOW_DOWNLOADED_FILE" = "Mostrar en el Finder…"; + +/* Button to download the Plugin */ +"PLUGIN_BROWSER_DOWNLOAD_PLUGIN_BUTTON" = "Descargar"; + +/* Status for an up-to-date plugin in the plugin browser */ +"PLUGIN_BROWSER_LATEST_VERSION_INSTALLED" = "Última versión instalada"; + +/* Status for an outdated plugin version in the plugin browser */ +"PLUGIN_BROWSER_NEWER_VERSION_%@_AVAILABLE" = "Disponible nueva versión(%@)."; + +/* Status for an uninstalled plugin in the plugin browser */ +"PLUGIN_BROWSER_PLUGIN_NOT_INSTALLED" = "No instalado"; + +/* Status for an unkonw plugin version in the plugin browser */ +"PLUGIN_BROWSER_UNKNOWN_PLUGIN_VERSION_INSTALLED_%@" = "Instalada versión(%@) desconocida"; + +/* Error for a plugin that is disabled. */ +"PLUGIN_ERROR_DISABLED_PLUGIN" = "El plugin está deshabilitado por el usuario"; + +/* Plugin is not with this version of MacPass */ +"PLUGIN_ERROR_HOST_VERSION_NOT_SUPPORTED" = "El plugin no es compatible con esta versión de MacPass"; + +/* The plugin could not be initalized */ +"PLUGIN_ERROR_INTILIZATION_FAILED" = "El plugin no puede ser inicializado"; + +/* Error for a plugin that was not signed properly */ +"PLUGIN_ERROR_UNSECURE_PLUGIN" = "El plugin no está firmado correctamente"; + +/* Plugin specifies the wrong principla class! */ +"PLUGIN_ERROR_WRONG_PRINCIPAL_CLASS" = "Clase principal en el plugin inesperada"; + +/* name for disabled unloaded plugin */ +"PLUGIN_NAME_DISABLED_%@" = "🚫 %@"; + +/* Name for unloaded plugin with errors */ +"PLUGIN_NAME_ERROR_%@" = "⚠️ %@"; + +/* Label for plugin settings tab */ +"PLUGIN_SETTINGS" = "Plugins"; + +/* Generic message displayed if no details are know why a plugin was not loaded. */ +"PLUGIN_SETTINGS_GENERIC_ERROR_MESSAGE" = "El plugin no puede ser cargado."; + +/* Plugin version. Include a %@ placeholder for version string */ +"PLUGIN_VERSION_%@" = "Versión: %@"; + +/* Menu item to preview the selected attached file. */ +"PREVIEW" = "Vista Previa"; + +/* Recent searches menu item */ +"RECENT_SEARCHES" = "Búsquedas recientes"; + +/* Informative text for the recommend password change alert */ +"RECOMMEND_PASSWORD_CHANGE_ALERT_DESCRIPTION" = "Se recomienda cambiar la contraseña y/o el keyfile."; + +/* Message text for the recommend password change alert */ +"RECOMMEND_PASSWORD_CHANGE_ALERT_TITLE" = "¡Por favor, cambia la contraseña de la base de datos!"; + +/* Restart */ +"RESTART" = "Reiniciar"; + +/* Action to restore and Entry to a previous state of it's history */ +"RESTORE_HISTORY_ENTRY" = "Restablecer entrada de historial"; + +/* Menu item to save the selected attached file. + Save file menu item title when save will just save the file */ +"SAVE" = "Guardar"; + +/* Button title to save the generated key file */ +"SAVE_KEYFILE" = "Guardar Keyfile"; + +/* Save file menu item title when save will prompt for a location to save or ask for a password/key */ +"SAVE_WITH_DOTS" = "Guardar…"; + +/* Search input in Toolbar */ +"SEARCH" = "Buscar"; + +/* Search option: Find duplicate passwords */ +"SEARCH_DUPLICATE_PASSWORDS" = "Contraseñas duplicadas"; + +/* Search option: Find expired entries */ +"SEARCH_EXPIRED_ENTRIES" = "Caducados"; + +/* Inherit search settings menu item */ +"SEARCH_INHERIT" = "Heredar Configuración de Búsqueda"; + +/* Disable search menu item */ +"SEARCH_NO" = "Exluir de Búsqueda"; + +/* No comment provided by engineer. */ +"SEARCH_VALUE" = "Search Value"; + +/* Enable search menu item */ +"SEARCH_YES" = "Incluir en Búsqueda"; + +/* Menu item title for the expiry preset selection menu in the date picker */ +"SELECT_DATE_PRESET" = "Usar predefinido…"; + +/* Message on the open panel for selecting which browser to use for opening URLs */ +"SELECT_DEFAULT_BROWSER_OPEN_PANEL_MESSAGE" = "Seleccionar el navegador por defecto para abrir URLs."; + +/* Label for the select browser button on the open panel for selecting which browser to use for opening URLs */ +"SELECT_DEFAULT_BROWSER_OPEN_PANEL_SELECT_BUTTON" = "Seleccionar"; + +/* Message for the dialog to open a file for merge */ +"SELECT_FILE_TO_MERGE" = "Seleccionar fichero a fusionar"; + +/* Menu displayed as popup selection for search options if no filter is selected */ +"SELECT_FILTER_WITH_DOTS" = "Seleccionar…"; + +/* Checkbox in dialog to set the selection as default file change strategy! */ +"SET_AS_DEFAULT_FILE_CHANGE_STRATEGY" = "Utilizar la estrategia seleccionada por defecto. Se puede modificar en cualquier momento en preferencias"; + +/* Action button in Notification to show the Autotype Doctor */ +"SHOW_AUTOTYPE_DOCTOR" = "Mostrar Doctor de Autotecleo"; + +/* Menu item to show the history of the selected entry + Toolbar item to toggle history display */ +"SHOW_HISTORY" = "Mostrar Historial"; + +/* Displayed name when title field was copied + Menu item to toggle display of title column in entry table + Title column title + Title reference item */ +"TITLE" = "Título"; + +/* preset to expire tomorrow */ +"TOMORROW" = "Mañana"; + +/* Toolbar item to perform autotype */ +"TOOLBAR_PERFORM_AUTOTYPE_FOR_ENTRY" = "Autotecleo"; + +/* Touchbar button label for choosing the keyfile */ +"TOUCHBAR_CHOOSE_KEYFILE" = "Seleccionar Keyfile"; + +/* Touchbar button label for copying the password */ +"TOUCHBAR_COPY_PASSWORD" = "Copiar Contraseña"; + +/* Touchbar button label for copying the username */ +"TOUCHBAR_COPY_USERNAME" = "Copiar Nombre de usuario"; + +/* Touchbar button label for deleting elements */ +"TOUCHBAR_DELETE" = "Eliminar"; + +/* Touchbar button label for opening the popover to edit */ +"TOUCHBAR_EDIT" = "Editar"; + +/* Touchbar button label for locking the database */ +"TOUCHBAR_LOCK_DATABASE" = "Bloquear Base de datos"; + +/* Touchbar button label for creating a new item */ +"TOUCHBAR_NEW_ENTRY" = "Nueva Entrada"; + +/* Touchbar button label for creating a new group */ +"TOUCHBAR_NEW_GROUP" = "Nuevo Grupo"; + +/* Touchbar button label for performing autotype */ +"TOUCHBAR_PERFORM_AUTOTYPE" = "Autoteclear"; + +/* Touchbar button label for searching the database */ +"TOUCHBAR_SEARCH" = "Buscar Base de datos"; + +/* Touchbar button label for showing the password */ +"TOUCHBAR_SHOW_PASSWORD" = "Mostrar Contraseña"; + +/* Touchbar button label for unlocking the database */ +"TOUCHBAR_UNLOCK_DATABASE" = "Desbloquear Base de datos"; + +/* Move Entry to Trash */ +"TRASH_ENTRY" = "Entrada a Papelera"; + +/* Move Group to Trash */ +"TRASH_GROUP" = "Grupo a Papelera"; + +/* Uninstall plugin */ +"UNINSTALL" = "Desinstalar"; + +/* No comment provided by engineer. */ +"UNKNOWN_FILE_VERSION" = "Versión de base de datos desconocida"; + +/* Unknown database format. */ +"UNKNOWN_FORMAT" = "Formato de archivo desconocido"; + +/* Database format is unknown since the file is not saved yet */ +"UNKNOWN_FORMAT_FILE_NOT_SAVED_YET" = "Desconocido, la base de datos no se ha guardado todavía"; + +/* No comment provided by engineer. */ +"UNKNOWN_TOOLBAR_ITEM" = "Item de barra de herramientas desconocido"; + +/* Update Settings Label */ +"UPDATE_PREFERENCES" = "Actualizaciones"; + +/* Menu item to toggle display of url column in entry table + Submenu with options what to do with the URL of an entry + Url column title + URL reference item */ +"URL" = "URL"; + +/* Menu item to toggle display of username column in entry table + Username column title + Username reference item */ +"USERNAME" = "Nombre de usuario"; + +/* Displayed name when uuid field was copied + UUID reference item */ +"UUID" = "UUID"; + +/* No Key or Password */ +"WARNING_NO_PASSWORD_OR_KEYFILE" = "¡Sin contraseña o keyfile!"; + +/* Informative Text displayed when clearing the Trash */ +"WARNING_ON_DELETE_TRASHED_NODE_DESCRIPTION" = "¡Los elementos de la papelera se eliminarán definitivamente!"; + +/* Message text for the alert displayed when deleting a node */ +"WARNING_ON_DELETE_TRASHED_NODE_TITLE" = "Eliminando elementos de la papelera"; + +/* Informative Text displayed when clearing the Trash */ +"WARNING_ON_EMPTY_TRASH_DESCRIPTION" = "Vaciar la Papelera es una acción irreversible."; + +/* Message text for the alert displayed when clearing the Trash */ +"WARNING_ON_EMPTY_TRASH_TITLE" = "¿Vaciar Papelera?"; + +/* No comment provided by engineer. */ +"WARNING_ON_SAVE_NO_PASSWORD_OR_KEY_SET" = "No hay contraseña o keyfile establecido."; + +/* No comment provided by engineer. */ +"WARNING_ON_SAVE_NO_PASSWORD_OR_KEY_SET_SUGGESTION" = "Por favor genera una contraseña o un keyfile para esta base de datos. Si cancela, se perderán todos los cambios y el documento quedará bloqueado."; + +/* Label for the workflow settings tab */ +"WORKFLOW_SETTINGS" = "Flujo de Trabajo"; + +/* Yesterday */ +"YESTERDAY" = "Ayer"; + diff --git a/MacPass/es.lproj/Localizable.stringsdict b/MacPass/es.lproj/Localizable.stringsdict new file mode 100644 index 00000000..e0d9317f --- /dev/null +++ b/MacPass/es.lproj/Localizable.stringsdict @@ -0,0 +1,96 @@ + + + + + %ld_CHARACTERS_TO_PICK_REMAINING + + NSStringLocalizedFormatKey + %#@characters@ + characters + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + Queda un carácter + other + %ld caracteres restantes + zero + Todos los caracteres seleccionados + + + DUPLICATE_ENTRIES_%ld + + NSStringLocalizedFormatKey + %#@entries@ + entries + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + Entrada duplicada + other + Entradas duplicadas + zero + Entradas duplicadas + + + EVERY_%ld_DAYS + + NSStringLocalizedFormatKey + %#@days@ + days + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + todos los días + other + cada %ld días + zero + después de cada desbloqueo + + + PICKCHAR_INFO_MESSAGE_PICK_CHARACTERS_%ld + + NSStringLocalizedFormatKey + %#@characters@ + characters + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + Por favor seleccione un único carácter + other + Por favor seleccione %ld caracteres + zero + Por favor seleccione los caracteres a usar + + + PICKED_%ld_CHARACTERS + + NSStringLocalizedFormatKey + %#@characters@ + characters + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld carácter seleccionados + other + %ld caracteres seleccionados + zero + No se han seleccionado caracteres + + + + diff --git a/MacPass/es.lproj/MainMenu.strings b/MacPass/es.lproj/MainMenu.strings index 34602c2d..e6dfb27e 100644 --- a/MacPass/es.lproj/MainMenu.strings +++ b/MacPass/es.lproj/MainMenu.strings @@ -1,3 +1,11 @@ +/* Class = "NSMenuItem"; title = "Focus Entries"; ObjectID = "2VP-vB-IeX"; */ +"2VP-vB-IeX.title" = "Resaltar Entradas"; + +/* Class = "NSMenuItem"; title = "Item"; ObjectID = "3st-rv-EeQ"; */ +"3st-rv-EeQ.title" = "Item"; + +/* Class = "NSMenu"; title = "Import"; ObjectID = "4q9-u1-pcm"; */ +"4q9-u1-pcm.title" = "Importar"; /* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "5"; */ "5.title" = "Mandar al Frente"; @@ -35,7 +43,7 @@ /* Class = "NSMenu"; title = "File"; ObjectID = "81"; */ "81.title" = "Archivo"; -/* Class = "NSMenuItem"; title = "New"; ObjectID = "82"; */ +/* Class = "NSMenuItem"; title = "New Database"; ObjectID = "82"; */ "82.title" = "Nuevo"; /* Class = "NSMenuItem"; title = "File"; ObjectID = "83"; */ @@ -131,7 +139,7 @@ /* Class = "NSMenuItem"; title = "Toggle Inspector"; ObjectID = "1181"; */ "1181.title" = "Mostrar Inspector"; -/* Class = "NSMenuItem"; title = "Show Password Creator"; ObjectID = "1200"; */ +/* Class = "NSMenuItem"; title = "Password Generator"; ObjectID = "1200"; */ "1200.title" = "Mostrar Generador de Contraseñas"; /* Class = "NSMenuItem"; title = "Change Master Password…"; ObjectID = "1203"; */ @@ -143,29 +151,48 @@ /* Class = "NSMenuItem"; title = "Save As…"; ObjectID = "1243"; */ "1243.title" = "Guardar Como…"; -/* Class = "NSMenuItem"; title = "Export As XML…"; ObjectID = "1259"; */ +/* Class = "NSMenuItem"; title = "XML…"; ObjectID = "1259"; */ "1259.title" = "Exportar como XML…"; /* Class = "NSMenuItem"; title = "Lock"; ObjectID = "1261"; */ "1261.title" = "Bloquear"; -/* Class = "NSMenuItem"; title = "Focus Entries"; ObjectID = "2VP-vB-IeX"; */ -"2VP-vB-IeX.title" = "Resaltar Entradas"; - -/* Class = "NSMenuItem"; title = "Focus Groups"; ObjectID = "HxM-dV-LIH"; */ -"HxM-dV-LIH.title" = "Resaltar Grupos"; - -/* Class = "NSMenuItem"; title = "Focus Inspector"; ObjectID = "Zje-Me-5c8"; */ -"Zje-Me-5c8.title" = "Restaltar Inspector"; +/* Class = "NSMenuItem"; title = "Import"; ObjectID = "aTb-sW-nUd"; */ +"aTb-sW-nUd.title" = "Importar"; /* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "aVO-9F-Lwc"; */ "aVO-9F-Lwc.title" = "Vista Rápida"; +/* Class = "NSMenuItem"; title = "Focus Groups"; ObjectID = "HxM-dV-LIH"; */ +"HxM-dV-LIH.title" = "Resaltar Grupos"; + +/* Class = "NSMenuItem"; title = "Save a Copy…"; ObjectID = "i24-Gn-j9c"; */ +"i24-Gn-j9c.title" = "Guardar una copia..."; + /* Class = "NSMenuItem"; title = "Fix Autotype…"; ObjectID = "nx7-Vf-LiD"; */ "nx7-Vf-LiD.title" = "Corregir Autollenado…"; -/* Class = "NSMenuItem"; title = "Import XML…"; ObjectID = "rW0-r1-QYL"; */ +/* Class = "NSMenu"; title = "Export"; ObjectID = "p8h-Fg-h1O"; */ +"p8h-Fg-h1O.title" = "Exportar"; + +/* Class = "NSMenuItem"; title = "XML…"; ObjectID = "rW0-r1-QYL"; */ "rW0-r1-QYL.title" = "Importar XML…"; +/* Class = "NSMenu"; title = "Item"; ObjectID = "Ttt-tR-emo"; */ +"Ttt-tR-emo.title" = "Item"; + +/* Class = "NSMenuItem"; title = "Export"; ObjectID = "tz9-yK-pOf"; */ +"tz9-yK-pOf.title" = "Exportar"; + +/* Class = "NSMenuItem"; title = "Focus Inspector"; ObjectID = "Zje-Me-5c8"; */ +"Zje-Me-5c8.title" = "Restaltar Inspector"; + /* Class = "NSMenuItem"; title = "Check for Updates…"; ObjectID = "zMO-8r-g5v"; */ "zMO-8r-g5v.title" = "Buscar Actualizaciones…"; + +/* Class = "NSMenuItem"; title = "Merge With…"; ObjectID = "zvE-0h-UxI"; */ +"zvE-0h-UxI.title" = "Fusionar con..."; + +/* Class = "NSMenuItem"; title = "Autotype Doctor"; ObjectID = "zWx-Re-iuJ"; */ +"zWx-Re-iuJ.title" = "Doctor de Autotecleo"; + diff --git a/MacPass/es.lproj/OpenPanelAccessoryView.strings b/MacPass/es.lproj/OpenPanelAccessoryView.strings new file mode 100644 index 00000000..89bb579b --- /dev/null +++ b/MacPass/es.lproj/OpenPanelAccessoryView.strings @@ -0,0 +1,6 @@ +/* Class = "NSButtonCell"; title = "Show hidden files"; ObjectID = "FfY-KA-8IC"; */ +"FfY-KA-8IC.title" = "Mostrar archivos ocultos"; + +/* Class = "NSButtonCell"; title = "Allow all files"; ObjectID = "tvV-1s-Be3"; */ +"tvV-1s-Be3.title" = "Permitir todos los archivos"; + diff --git a/MacPass/es.lproj/PasswordCreatorView.strings b/MacPass/es.lproj/PasswordCreatorView.strings index 86dcd3de..a0e9bc7d 100644 --- a/MacPass/es.lproj/PasswordCreatorView.strings +++ b/MacPass/es.lproj/PasswordCreatorView.strings @@ -1,11 +1,10 @@ - /* Class = "NSTextFieldCell"; title = "Password:"; ObjectID = "149"; */ "149.title" = "Contraseña:"; /* Class = "NSTextFieldCell"; title = "Length:"; ObjectID = "179"; */ "179.title" = "Longitud:"; -/* Class = "NSBox"; title = "Allowed Characters"; ObjectID = "332"; */ +/* Class = "NSBox"; title = "Character options"; ObjectID = "332"; */ "332.title" = "Caracteres Permitidos"; /* Class = "NSButtonCell"; title = "A-Z"; ObjectID = "453"; */ @@ -37,3 +36,13 @@ /* Class = "NSTextFieldCell"; title = "25000 bit"; ObjectID = "653"; */ "653.title" = "25000 bit"; + +/* Class = "NSButtonCell"; title = "Use default only for selected entry"; ObjectID = "cfZ-5F-Nge"; */ +"cfZ-5F-Nge.title" = "Establecer por defecto solo para la entrada seleccionada"; + +/* Class = "NSButtonCell"; title = "Use characters from every group"; ObjectID = "CMc-Uh-Fo5"; */ +"CMc-Uh-Fo5.title" = "Usar caracteres de todos los grupos"; + +/* Class = "NSButtonCell"; title = "Set Default"; ObjectID = "Wvs-Md-Ob8"; */ +"Wvs-Md-Ob8.title" = "Establecer por defecto"; + diff --git a/MacPass/es.lproj/PasswordEditWindow.strings b/MacPass/es.lproj/PasswordEditWindow.strings index 26465282..b62b293d 100644 --- a/MacPass/es.lproj/PasswordEditWindow.strings +++ b/MacPass/es.lproj/PasswordEditWindow.strings @@ -1,5 +1,4 @@ - -/* Class = "NSWindow"; title = "Window"; ObjectID = "1"; */ +/* Class = "NSWindow"; title = "Change Password"; ObjectID = "1"; */ "1.title" = "Ventana"; /* Class = "NSTextFieldCell"; title = "Missmatching Passwords"; ObjectID = "14"; */ @@ -28,3 +27,4 @@ /* Class = "NSButtonCell"; title = "Password:"; ObjectID = "OQz-DA-SoY"; */ "OQz-DA-SoY.title" = "Contraseña:"; + diff --git a/MacPass/es.lproj/PasswordInputView.strings b/MacPass/es.lproj/PasswordInputView.strings index fb39d812..39ff2713 100644 --- a/MacPass/es.lproj/PasswordInputView.strings +++ b/MacPass/es.lproj/PasswordInputView.strings @@ -1,12 +1,18 @@ - /* Class = "NSButtonCell"; title = "Unlock"; ObjectID = "3"; */ "3.title" = "Desbloquear"; /* Class = "NSTextFieldCell"; title = "Keyfile"; ObjectID = "18"; */ "18.title" = "Keyfile"; -/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "IU9-5u-jn9"; */ -"IU9-5u-jn9.title" = "Contraseña"; - /* Class = "NSTextFieldCell"; title = "Wrong password!"; ObjectID = "269"; */ "269.title" = "Contraseña Incorrecta"; + +/* Class = "NSSecureTextFieldCell"; placeholderString = "Enter Password"; ObjectID = "339"; */ +"339.placeholderString" = "Introducir contraseña"; + +/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "erj-mR-UyO"; */ +"erj-mR-UyO.title" = "Cancelar"; + +/* Class = "NSButtonCell"; title = "Password"; ObjectID = "IU9-5u-jn9"; */ +"IU9-5u-jn9.title" = "Contraseña"; + diff --git a/MacPass/es.lproj/PickcharsView.strings b/MacPass/es.lproj/PickcharsView.strings new file mode 100644 index 00000000..157f1ce7 --- /dev/null +++ b/MacPass/es.lproj/PickcharsView.strings @@ -0,0 +1,18 @@ +/* Class = "NSButtonCell"; title = "Submit"; ObjectID = "8vP-Ka-vsA"; */ +"8vP-Ka-vsA.title" = "Enviar"; + +/* Class = "NSButtonCell"; title = "Reset"; ObjectID = "Emo-pg-Mfe"; */ +"Emo-pg-Mfe.title" = "Resetear"; + +/* Class = "NSTextFieldCell"; title = "StatusLabel"; ObjectID = "M3h-q8-FLO"; */ +"M3h-q8-FLO.title" = "Etiqueta de estado"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "pUG-4c-rTt"; */ +"pUG-4c-rTt.title" = "Celda de texto"; + +/* Class = "NSTextFieldCell"; title = "MessageLabel"; ObjectID = "sHz-kg-YJQ"; */ +"sHz-kg-YJQ.title" = "Etiqueta de mensaje"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "v3T-2f-yWm"; */ +"v3T-2f-yWm.title" = "Celda de tabla"; + diff --git a/MacPass/es.lproj/PickfieldView.strings b/MacPass/es.lproj/PickfieldView.strings new file mode 100644 index 00000000..2cf72d16 --- /dev/null +++ b/MacPass/es.lproj/PickfieldView.strings @@ -0,0 +1,24 @@ +/* Class = "NSTableColumn"; headerCell.title = "Field"; ObjectID = "0H9-DW-Jyj"; */ +"0H9-DW-Jyj.headerCell.title" = "Campo"; + +/* Class = "NSButtonCell"; title = "Select"; ObjectID = "6Wi-9i-Tcb"; */ +"6Wi-9i-Tcb.title" = "Seleccionar"; + +/* Class = "NSTextFieldCell"; title = "Please pick a field value to be inserted"; ObjectID = "aJS-22-6Va"; */ +"aJS-22-6Va.title" = "Por favor selecciona un valor para insertar"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "e8U-mE-mZh"; */ +"e8U-mE-mZh.title" = "Celda de tabla"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "fil-tT-GXX"; */ +"fil-tT-GXX.title" = "Celda de texto"; + +/* Class = "NSTextFieldCell"; title = "Header View Cell"; ObjectID = "kTy-VO-Xlg"; */ +"kTy-VO-Xlg.title" = "Celda de cabecera"; + +/* Class = "NSTableColumn"; headerCell.title = "Value"; ObjectID = "rVo-ud-5fs"; */ +"rVo-ud-5fs.headerCell.title" = "Valor"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "z1F-Bi-PBg"; */ +"z1F-Bi-PBg.title" = "Celda de texto"; + diff --git a/MacPass/es.lproj/PluginDataView.strings b/MacPass/es.lproj/PluginDataView.strings new file mode 100644 index 00000000..340af2f9 --- /dev/null +++ b/MacPass/es.lproj/PluginDataView.strings @@ -0,0 +1,15 @@ +/* Class = "NSButtonCell"; title = "Remove All"; ObjectID = "6hH-Hc-gf4"; */ +"6hH-Hc-gf4.title" = "Eliminar todo"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "bG1-Sb-Xyp"; */ +"bG1-Sb-Xyp.title" = "Celda de texto"; + +/* Class = "NSTextFieldCell"; placeholderString = "Title"; ObjectID = "MaV-TP-92X"; */ +"MaV-TP-92X.placeholderString" = "Título"; + +/* Class = "NSTextFieldCell"; placeholderString = "Value"; ObjectID = "mLw-O5-6D3"; */ +"mLw-O5-6D3.placeholderString" = "Valor"; + +/* Class = "NSTextFieldCell"; title = "Plugin data"; ObjectID = "unO-bO-8v0"; */ +"unO-bO-8v0.title" = "Datos del plugin"; + diff --git a/MacPass/es.lproj/PluginPreferences.strings b/MacPass/es.lproj/PluginPreferences.strings index 2e5f8f56..5441f402 100644 --- a/MacPass/es.lproj/PluginPreferences.strings +++ b/MacPass/es.lproj/PluginPreferences.strings @@ -1,15 +1,33 @@ - -/* Class = "NSTextFieldCell"; title = "If enabled, only properly signed Plugins will be loaded. Keep in mind, that Plugins have full access to your data! Changes take affect on restart."; ObjectID = "2bX-8S-9XM"; */ +/* Class = "NSTextFieldCell"; title = "If enabled, Plugins without proper signatures will be allowed to load. Keep in mind, that Plugins have full access to your data! Changes take affect on restart."; ObjectID = "2bX-8S-9XM"; */ "2bX-8S-9XM.title" = "Si se habilita, solo los Plugins propiamente firmados serán cargados. Ten en mente que los Plugins tenrán acceso a tu información. Es necesario reiniciar para aplicar los cambios."; /* Class = "NSButtonCell"; title = "Load unsecure Plugins"; ObjectID = "C4B-6z-ZqX"; */ "C4B-6z-ZqX.title" = "Cargar Plugins no seguros"; -/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "STt-PQ-Szr"; */ -"STt-PQ-Szr.title" = "Campo de Texto"; - /* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "fug-79-n9g"; */ "fug-79-n9g.title" = "Vista de tabla de campos"; +/* Class = "NSTextFieldCell"; title = "If enabled, a remote connection is established to macpassapp.org"; ObjectID = "i3S-9b-Bpf"; */ +"i3S-9b-Bpf.title" = "Si se habilita, se establece una conexión a macpassapp.org"; + +/* Class = "NSTextFieldCell"; title = "Plugin Settings Info"; ObjectID = "OOr-SW-jZb"; */ +"OOr-SW-jZb.title" = "Información de configuración del plugin"; + +/* Class = "NSButtonCell"; title = "Browse Available Plugins…"; ObjectID = "sqO-8H-n1y"; */ +"sqO-8H-n1y.title" = "Navegar por los plugins disponibles..."; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "STt-PQ-Szr"; */ +"STt-PQ-Szr.title" = "Campo de Texto"; + +/* Class = "NSButtonCell"; title = "Download current plugin information"; ObjectID = "uHR-uL-Ddm"; */ +"uHR-uL-Ddm.title" = "Descargar la información del plugin actual"; + /* Class = "NSBox"; title = "Box"; ObjectID = "vBs-Ga-aq0"; */ "vBs-Ga-aq0.title" = "Caja"; + +/* Class = "NSButtonCell"; title = "Force loading of incompatible Plugins"; ObjectID = "yak-fS-jtA"; */ +"yak-fS-jtA.title" = "Forzar la carga de los plugins incompatibles"; + +/* Class = "NSTextFieldCell"; title = "Label"; ObjectID = "yuK-qH-jxx"; */ +"yuK-qH-jxx.title" = "Etiqueta"; + diff --git a/MacPass/es.lproj/PluginRepositoryBrowserView.strings b/MacPass/es.lproj/PluginRepositoryBrowserView.strings new file mode 100644 index 00000000..254b1885 --- /dev/null +++ b/MacPass/es.lproj/PluginRepositoryBrowserView.strings @@ -0,0 +1,42 @@ +/* Class = "NSButtonCell"; title = "Action"; ObjectID = "6jQ-Uk-uqD"; */ +"6jQ-Uk-uqD.title" = "Acción"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "cFE-KE-Xjx"; */ +"cFE-KE-Xjx.title" = "Celda de texto"; + +/* Class = "NSTextFieldCell"; title = "Updated at"; ObjectID = "DhR-ED-6gV"; */ +"DhR-ED-6gV.title" = "Actualizado el"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "DRt-Gz-DUm"; */ +"DRt-Gz-DUm.title" = "Celda de tabla"; + +/* Class = "NSTableColumn"; headerCell.title = "Status"; ObjectID = "g1Q-BS-vCR"; */ +"g1Q-BS-vCR.headerCell.title" = "Estado"; + +/* Class = "NSTableColumn"; headerCell.title = "Latest Version"; ObjectID = "hFg-AD-SqD"; */ +"hFg-AD-SqD.headerCell.title" = "Última versión"; + +/* Class = "NSButtonCell"; title = "Done"; ObjectID = "j9a-fn-Pye"; */ +"j9a-fn-Pye.title" = "Hecho"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "nc9-mo-2e5"; */ +"nc9-mo-2e5.title" = "Celda de tabla"; + +/* Class = "NSTextFieldCell"; title = "Last updated:"; ObjectID = "ntD-sJ-NRw"; */ +"ntD-sJ-NRw.title" = "Última actualización:"; + +/* Class = "NSTableColumn"; headerCell.title = "Plugin"; ObjectID = "Nzo-rR-Hfx"; */ +"Nzo-rR-Hfx.headerCell.title" = "Plugin"; + +/* Class = "NSButtonCell"; title = "Refresh"; ObjectID = "NZw-nO-lZ3"; */ +"NZw-nO-lZ3.title" = "Refrescar"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "Pl1-4o-5uY"; */ +"Pl1-4o-5uY.title" = "Celda de texto"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "QPj-W1-su1"; */ +"QPj-W1-su1.title" = "Celda de texto"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "ZIf-CU-gh7"; */ +"ZIf-CU-gh7.title" = "Celda de tabla"; + diff --git a/MacPass/es.lproj/ReferenceBuilderView.strings b/MacPass/es.lproj/ReferenceBuilderView.strings index 673b2026..bd66a22c 100644 --- a/MacPass/es.lproj/ReferenceBuilderView.strings +++ b/MacPass/es.lproj/ReferenceBuilderView.strings @@ -1,15 +1,8 @@ - -/* Class = "NSMenuItem"; title = "Get"; ObjectID = "142-bE-IMZ"; */ -"142-bE-IMZ.title" = "Obtener"; - /* Class = "NSTextFieldCell"; title = "Match"; ObjectID = "9ce-da-syF"; */ "9ce-da-syF.title" = "Coincidir"; -/* Class = "NSTextFieldCell"; title = "Key"; ObjectID = "K1t-OZ-ACe"; */ -"K1t-OZ-ACe.title" = "Llave"; - -/* Class = "NSButtonCell"; title = "Use"; ObjectID = "Kqx-qm-nMG"; */ -"Kqx-qm-nMG.title" = "Usar"; +/* Class = "NSMenuItem"; title = "Get"; ObjectID = "142-bE-IMZ"; */ +"142-bE-IMZ.title" = "Obtener"; /* Class = "NSTextFieldCell"; placeholderString = "Reference"; ObjectID = "dr9-x8-kKk"; */ "dr9-x8-kKk.placeholderString" = "Referencia"; @@ -20,8 +13,15 @@ /* Class = "NSTextFieldCell"; title = "Reference String"; ObjectID = "gik-Ha-hRd"; */ "gik-Ha-hRd.title" = "Valor Referencial"; +/* Class = "NSTextFieldCell"; title = "Key"; ObjectID = "K1t-OZ-ACe"; */ +"K1t-OZ-ACe.title" = "Llave"; + +/* Class = "NSButtonCell"; title = "Use"; ObjectID = "Kqx-qm-nMG"; */ +"Kqx-qm-nMG.title" = "Usar"; + /* Class = "NSTextFieldCell"; title = "Reference"; ObjectID = "r1V-VE-ngy"; */ "r1V-VE-ngy.title" = "Referencia"; /* Class = "NSMenuItem"; title = "Matching"; ObjectID = "yT1-XL-k6a"; */ "yT1-XL-k6a.title" = "Coincidente"; + diff --git a/MacPass/es.lproj/SavePanelAccessoryView.strings b/MacPass/es.lproj/SavePanelAccessoryView.strings new file mode 100644 index 00000000..6fd7d18a --- /dev/null +++ b/MacPass/es.lproj/SavePanelAccessoryView.strings @@ -0,0 +1,15 @@ +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "4"; */ +"4.title" = "Otras vistas"; + +/* Class = "NSMenuItem"; title = "KeePass 1 (KDB)"; ObjectID = "5"; */ +"5.title" = "KeePass 1 (KDB)"; + +/* Class = "NSMenuItem"; title = "KeePass 2 (KDBX)"; ObjectID = "6"; */ +"6.title" = "KeePass 2 (KDBX)"; + +/* Class = "NSTextFieldCell"; title = "Format:"; ObjectID = "12"; */ +"12.title" = "Formato:"; + +/* Class = "NSTextFieldCell"; title = "Not all Information inside your current database can be stored with this format."; ObjectID = "52"; */ +"52.title" = "No toda la información de tu base de datos puede ser guardada en este formato."; + diff --git a/MacPass/es.lproj/UpdatePreferences.strings b/MacPass/es.lproj/UpdatePreferences.strings index f46571ad..dbdf846d 100644 --- a/MacPass/es.lproj/UpdatePreferences.strings +++ b/MacPass/es.lproj/UpdatePreferences.strings @@ -1,4 +1,3 @@ - /* Class = "NSMenuItem"; title = "every Week"; ObjectID = "3FR-Va-iau"; */ "3FR-Va-iau.title" = "cada semana"; @@ -8,14 +7,15 @@ /* Class = "NSMenuItem"; title = "every Hour"; ObjectID = "DjF-1I-6Nq"; */ "DjF-1I-6Nq.title" = "cada hora"; +/* Class = "NSMenuItem"; title = "every Day"; ObjectID = "o9E-hk-H1T"; */ +"o9E-hk-H1T.title" = "cada día"; + /* Class = "NSButtonCell"; title = "Automatically Check for Updates"; ObjectID = "RFg-q1-AwJ"; */ "RFg-q1-AwJ.title" = "Buscar Actualizaciones Automáticamente"; /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "RKd-H8-eCF"; */ -"RKd-H8-eCF.title" = "Otras Vistas"; +"RKd-H8-eCF.title" = "Otras vistas"; /* Class = "NSMenuItem"; title = "every Month"; ObjectID = "Uo3-kv-1ro"; */ "Uo3-kv-1ro.title" = "cada mes"; -/* Class = "NSMenuItem"; title = "every Day"; ObjectID = "o9E-hk-H1T"; */ -"o9E-hk-H1T.title" = "cada día"; diff --git a/MacPass/es.lproj/WelcomeView.strings b/MacPass/es.lproj/WelcomeView.strings index 1138d836..c8bf5468 100644 --- a/MacPass/es.lproj/WelcomeView.strings +++ b/MacPass/es.lproj/WelcomeView.strings @@ -1,11 +1,15 @@ -/* Class = "NSTextFieldCell"; title = "Welcome to MacPass"; ObjectID = "24"; */ -"24.title" = "Bienvenido a MacPass"; +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "Fbl-HT-XIu"; */ +"Fbl-HT-XIu.title" = "Celda de texto"; -/* Class = "NSButtonCell"; title = "Open Database…"; ObjectID = "44"; */ -"44.title" = "Abrir Base de Datos…"; +/* Class = "NSButtonCell"; title = "Open Database…"; ObjectID = "Jj3-zy-gaz"; */ +"Jj3-zy-gaz.title" = "Abrir base de datos..."; -/* Class = "NSButtonCell"; title = "Create new Database"; ObjectID = "48"; */ -"48.title" = "Crear Nueva Base de Datos"; +/* Class = "NSButtonCell"; title = "Create new Database"; ObjectID = "Vxx-Ql-eI5"; */ +"Vxx-Ql-eI5.title" = "Crear nueva base de datos"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "vzM-ly-CYn"; */ +"vzM-ly-CYn.title" = "Celda de tabla"; + +/* Class = "NSTextFieldCell"; title = "Welcome to MacPass"; ObjectID = "zdv-z8-khG"; */ +"zdv-z8-khG.title" = "Bienvenido a MacPass"; -/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "70"; */ -"70.title" = "Cancelar"; diff --git a/MacPass/es.lproj/WorkflowPreferences.strings b/MacPass/es.lproj/WorkflowPreferences.strings index 058f598a..b92e3f27 100644 --- a/MacPass/es.lproj/WorkflowPreferences.strings +++ b/MacPass/es.lproj/WorkflowPreferences.strings @@ -1,7 +1,12 @@ +/* Class = "NSButtonCell"; title = "Hide application after copying to clipboard "; ObjectID = "1Vr-nY-Ogv"; */ +"1Vr-nY-Ogv.title" = "Oculta la aplicación tras copiar al portapapeles"; /* Class = "NSBox"; title = "Entry Table"; ObjectID = "2"; */ "2.title" = "Tabla de Entradas"; +/* Class = "NSMenuItem"; title = "Default Browser"; ObjectID = "7YX-EA-9KA"; */ +"7YX-EA-9KA.title" = "Navegador Predeterminado"; + /* Class = "NSTextFieldCell"; title = "Double-click on URL:"; ObjectID = "10"; */ "10.title" = "Doble clic en URL:"; @@ -26,12 +31,24 @@ /* Class = "NSMenuItem"; title = "Opens Inspector"; ObjectID = "44"; */ "44.title" = "Abre Inspector"; -/* Class = "NSMenuItem"; title = "Default Browser"; ObjectID = "7YX-EA-9KA"; */ -"7YX-EA-9KA.title" = "Navegador Predeterminado"; +/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "gej-kA-GzQ"; */ +"gej-kA-GzQ.title" = "Item 2"; -/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "XgO-Tj-QjO"; */ -"XgO-Tj-QjO.title" = "Otras Vistas"; +/* Class = "NSBox"; title = "Clipboard"; ObjectID = "Kff-Xp-hAT"; */ +"Kff-Xp-hAT.title" = "Portapapeles"; + +/* Class = "NSButtonCell"; title = "Update password for new entries"; ObjectID = "RaM-t2-DVR"; */ +"RaM-t2-DVR.title" = "Actualiza la contraseña para las entradas nuevas"; /* Class = "NSTextFieldCell"; title = "Open URLs in:"; ObjectID = "soD-wI-YOH"; */ "soD-wI-YOH.title" = "Abre URLs en:"; +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "XgO-Tj-QjO"; */ +"XgO-Tj-QjO.title" = "Otras Vistas"; + +/* Class = "NSBox"; title = "Templates"; ObjectID = "Xvt-tP-TbR"; */ +"Xvt-tP-TbR.title" = "Plantillas"; + +/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "zC2-cM-KDv"; */ +"zC2-cM-KDv.title" = "Item 3"; + From 5fbd6d1cde08372d5f38221ab196193aecb4c6a0 Mon Sep 17 00:00:00 2001 From: Anton Glezman Date: Mon, 5 Aug 2019 11:37:01 +0300 Subject: [PATCH 03/17] Fix localized string ambiguous with word allow/disallow (#959) * Fix localized string ambiguous with word allow/disallow * Fix typo --- MacPass/MPPluginRepository.m | 2 +- MacPass/de.lproj/Localizable.strings | 4 ++-- MacPass/en.lproj/Localizable.strings | 6 +++--- MacPass/es.lproj/Localizable.strings | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/MacPass/MPPluginRepository.m b/MacPass/MPPluginRepository.m index 38e657a5..deaaa64c 100644 --- a/MacPass/MPPluginRepository.m +++ b/MacPass/MPPluginRepository.m @@ -175,8 +175,8 @@ NSString *const MPPluginRepositoryDidUpdateAvailablePluginsNotification = @"com. alert.informativeText = NSLocalizedString(@"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_INFORMATIVE_TEXT", @"Informative text displayed on the alert that shows up when MacPass asks for permssion to download the plugin repository JSON file"); alert.messageText = NSLocalizedString(@"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_MESSAGE", @"Message displayed on the alert that asks for permission to download the plugin repository JSON file"); alert.showsSuppressionButton = YES; - [alert addButtonWithTitle:NSLocalizedString(@"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD", @"Disallow the download of the plugin repository file")]; [alert addButtonWithTitle:NSLocalizedString(@"ALERT_ASK_FOR_PLUGIN_REPOSITORY_ALLOW_DOWNLOAD", @"Allow the download of the plugin repository file")]; + [alert addButtonWithTitle:NSLocalizedString(@"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD", @"Disallow the download of the plugin repository file")]; NSModalResponse repsonse = [alert runModal]; BOOL allow = (repsonse == NSAlertFirstButtonReturn); [NSUserDefaults.standardUserDefaults setBool:allow forKey:kMPSettingsKeyAllowRemoteFetchOfPluginRepository]; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 78a8bf46..71164b2b 100644 --- a/MacPass/de.lproj/Localizable.strings +++ b/MacPass/de.lproj/Localizable.strings @@ -38,7 +38,7 @@ "ADD_TREMPLATE_ENTRY" = "Vorgabeeintrag erstellen"; /* Allow the download of the plugin repository file */ -"ALERT_ASK_FOR_PLUGIN_REPOSITORY_ALLOW_DOWNLOAD" = "Keine Daten herunterladen."; +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_ALLOW_DOWNLOAD" = "Aktualisiere Daten online."; /* Informative text displayed on the alert that shows up when MacPass asks for permssion to download the plugin repository JSON file */ "ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_INFORMATIVE_TEXT" = "Das Verzeichnis ist auf https://macpassapp.org hinterlegt. MacPass verbindet lädt die Defintionen herunter um sicher zu stellen, dass alle Daten auf dem neusten Stand sind."; @@ -47,7 +47,7 @@ "ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_MESSAGE" = "MacPass möchte das Pluginverzeichnis aktualisieren."; /* Disallow the download of the plugin repository file */ -"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD" = "Aktualisiere Daten online."; +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD" = "Keine Daten herunterladen."; /* Button in dialog to leave autotype disabled and continiue! */ "ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_BUTTON_OK" = "Autotype deaktiviert lassen."; diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 73328187..d4a0f6db 100644 --- a/MacPass/en.lproj/Localizable.strings +++ b/MacPass/en.lproj/Localizable.strings @@ -38,16 +38,16 @@ "ADD_TREMPLATE_ENTRY" = "Create Template Entry"; /* Allow the download of the plugin repository file */ -"ALERT_ASK_FOR_PLUGIN_REPOSITORY_ALLOW_DOWNLOAD" = "Do not update defintions"; +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_ALLOW_DOWNLOAD" = "Update definitions online"; /* Informative text displayed on the alert that shows up when MacPass asks for permssion to download the plugin repository JSON file */ "ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_INFORMATIVE_TEXT" = "The plugin defintions are hosted online at https://macpassapp.org. MacPass would like to download those files to ensure the data is up to date."; /* Message displayed on the alert that askf for permission to download the plugin repository JSON file */ -"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_MESSAGE" = "MacPass would like to check for updates of plugin defintions online"; +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_MESSAGE" = "MacPass would like to check for updates of plugin definitions online"; /* Disallow the download of the plugin repository file */ -"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD" = "Update definitions online"; +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD" = "Do not update defintions"; /* Button in dialog to leave autotype disabled and continiue! */ "ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_BUTTON_OK" = "Keep Autotype disabled."; diff --git a/MacPass/es.lproj/Localizable.strings b/MacPass/es.lproj/Localizable.strings index ea3950ac..9b8d5192 100644 --- a/MacPass/es.lproj/Localizable.strings +++ b/MacPass/es.lproj/Localizable.strings @@ -38,7 +38,7 @@ "ADD_TREMPLATE_ENTRY" = "Crear Plantilla de Entrada"; /* Allow the download of the plugin repository file */ -"ALERT_ASK_FOR_PLUGIN_REPOSITORY_ALLOW_DOWNLOAD" = "No actualizar definiciones"; +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_ALLOW_DOWNLOAD" = "Actualizar las definiciones online"; /* Informative text displayed on the alert that shows up when MacPass asks for permssion to download the plugin repository JSON file */ "ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_INFORMATIVE_TEXT" = "Las definiciones de los plugin están almacenadas online en https://macpassapp.org. A MacPass le gustaría descargar los archivos para asegurar que los datos están actualizados"; @@ -47,7 +47,7 @@ "ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_MESSAGE" = "A MacPass le gustaría comprobar las actualizaciones de las definiciones de los plugin online"; /* Disallow the download of the plugin repository file */ -"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD" = "Actualizar las definiciones online"; +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD" = "No actualizar definiciones"; /* Button in dialog to leave autotype disabled and continiue! */ "ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_BUTTON_OK" = "Mantener Autotecleo deshabilitado."; From 2aba4cbd93879a14ed1ef21a2f54b9fc4c1a2224 Mon Sep 17 00:00:00 2001 From: Anton Glezman Date: Mon, 5 Aug 2019 11:37:36 +0300 Subject: [PATCH 04/17] Improved russian localization (#961) --- MacPass.xcodeproj/project.pbxproj | 36 +++++- .../AutotypeDoctorReportViewController.xib | 0 ...AutotypeDoctorReportViewController.strings | 18 +++ .../AutotypeCandidateSelectionView.strings | 15 +++ ...AutotypeDoctorReportViewController.strings | 18 +++ MacPass/ru.lproj/ContextBar.strings | 61 ++++----- .../ru.lproj/DatabaseSettingsWindow.strings | 43 ++++++- .../DuplicateEntryOptionsWindow.strings | 26 ++-- MacPass/ru.lproj/InspectorView.strings | 11 +- .../ru.lproj/IntegrationPreferences.strings | 12 +- MacPass/ru.lproj/Localizable.strings | 94 ++++++++++++-- MacPass/ru.lproj/Localizable.stringsdict | 116 ++++++++++++++++++ MacPass/ru.lproj/MainMenu.strings | 7 +- .../ru.lproj/OpenPanelAccessoryView.strings | 6 + MacPass/ru.lproj/PasswordEditWindow.strings | 4 +- MacPass/ru.lproj/PickcharsView.strings | 18 +++ MacPass/ru.lproj/PickfieldView.strings | 24 ++++ MacPass/ru.lproj/PluginDataView.strings | 15 +++ MacPass/ru.lproj/PluginPreferences.strings | 6 + .../PluginRepositoryBrowserView.strings | 13 +- MacPass/ru.lproj/ReferenceBuilderView.strings | 18 +-- MacPass/ru.lproj/WelcomeView.strings | 14 +-- MacPass/ru.lproj/WorkflowPreferences.strings | 15 ++- 23 files changed, 481 insertions(+), 109 deletions(-) rename MacPass/{ => Base.lproj}/AutotypeDoctorReportViewController.xib (100%) create mode 100644 MacPass/en.lproj/AutotypeDoctorReportViewController.strings create mode 100644 MacPass/ru.lproj/AutotypeCandidateSelectionView.strings create mode 100644 MacPass/ru.lproj/AutotypeDoctorReportViewController.strings create mode 100644 MacPass/ru.lproj/Localizable.stringsdict create mode 100644 MacPass/ru.lproj/OpenPanelAccessoryView.strings create mode 100644 MacPass/ru.lproj/PickcharsView.strings create mode 100644 MacPass/ru.lproj/PickfieldView.strings create mode 100644 MacPass/ru.lproj/PluginDataView.strings diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index b937c9af..50aec9a9 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -230,7 +230,6 @@ 4CAD748C15B889B700104512 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748B15B889B700104512 /* Security.framework */; }; 4CAD748E15B88AC100104512 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748D15B88AC100104512 /* libz.dylib */; }; 4CAD8AA622CF397B0090B2DD /* MPAutotypeDoctorReportViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAD8AA422CF397B0090B2DD /* MPAutotypeDoctorReportViewController.m */; }; - 4CAD8AA722CF397B0090B2DD /* AutotypeDoctorReportViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CAD8AA522CF397B0090B2DD /* AutotypeDoctorReportViewController.xib */; }; 4CB33F861EAF54A000C9341E /* KPKNode+MPIsHistory.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CB33F851EAF54A000C9341E /* KPKNode+MPIsHistory.m */; }; 4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4CB9339716D3A0DD00A13B5D /* Credits.rtf */; }; 4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */; }; @@ -295,6 +294,7 @@ 6021FE8D18E1617300C3BC51 /* PasswordCreatorView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6021FE8F18E1617300C3BC51 /* PasswordCreatorView.xib */; }; 6021FE9818E1650F00C3BC51 /* DatabaseSettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6021FE9A18E1650F00C3BC51 /* DatabaseSettingsWindow.xib */; }; 7837112C225540D1009BD28D /* PluginRepositoryBrowserView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7837112E225540D1009BD28D /* PluginRepositoryBrowserView.xib */; }; + 78E1F8B022E3A5D600E738AE /* AutotypeDoctorReportViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 78E1F8B222E3A5D600E738AE /* AutotypeDoctorReportViewController.xib */; }; FA13910C1F9CD9EB0033D256 /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = FA13910A1F9CD9EB0033D256 /* Localizable.stringsdict */; }; FA9FD3271FB5E8F4003CEDD6 /* AutotypeCandidateSelectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = FA9FD3291FB5E8F4003CEDD6 /* AutotypeCandidateSelectionView.xib */; }; FA9FD32C1FB5EDD3003CEDD6 /* AutotypeBuilderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = FA9FD32E1FB5EDD3003CEDD6 /* AutotypeBuilderView.xib */; }; @@ -791,7 +791,6 @@ 4CAD748D15B88AC100104512 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; 4CAD8AA322CF397B0090B2DD /* MPAutotypeDoctorReportViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPAutotypeDoctorReportViewController.h; sourceTree = ""; }; 4CAD8AA422CF397B0090B2DD /* MPAutotypeDoctorReportViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeDoctorReportViewController.m; sourceTree = ""; }; - 4CAD8AA522CF397B0090B2DD /* AutotypeDoctorReportViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AutotypeDoctorReportViewController.xib; sourceTree = ""; }; 4CB33F841EAF54A000C9341E /* KPKNode+MPIsHistory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKNode+MPIsHistory.h"; sourceTree = ""; }; 4CB33F851EAF54A000C9341E /* KPKNode+MPIsHistory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKNode+MPIsHistory.m"; sourceTree = ""; }; 4CB63A6018986530002DEC4C /* MPFlagsHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPFlagsHelper.h; sourceTree = ""; }; @@ -974,6 +973,16 @@ 7837112D225540D1009BD28D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PluginRepositoryBrowserView.xib; sourceTree = ""; }; 78371130225540D8009BD28D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PluginRepositoryBrowserView.strings; sourceTree = ""; }; 78371132225540DE009BD28D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PluginRepositoryBrowserView.strings; sourceTree = ""; }; + 78E1F8AF22E3A3DF00E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/IntegrationPreferences.strings; sourceTree = ""; }; + 78E1F8B122E3A5D600E738AE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AutotypeDoctorReportViewController.xib; sourceTree = ""; }; + 78E1F8B422E3A5DB00E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/AutotypeDoctorReportViewController.strings; sourceTree = ""; }; + 78E1F8B622E3A5E900E738AE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/AutotypeDoctorReportViewController.strings; sourceTree = ""; }; + 78E1F8B822E3B06700E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PickcharsView.strings; sourceTree = ""; }; + 78E1F8BA22E3B0B700E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PickfieldView.strings; sourceTree = ""; }; + 78E1F8BC22E3B12300E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/OpenPanelAccessoryView.strings; sourceTree = ""; }; + 78E1F8BE22E3B1BF00E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/AutotypeCandidateSelectionView.strings; sourceTree = ""; }; + 78E1F8C022E3B22500E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PluginDataView.strings; sourceTree = ""; }; + 78E1F8C122E3B32D00E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = ru; path = ru.lproj/Localizable.stringsdict; sourceTree = ""; }; A019D80F22DC6B3C0085FD54 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = es; path = es.lproj/Localizable.stringsdict; sourceTree = ""; }; A083E27922DF467B0020E0D5 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/PickcharsView.strings; sourceTree = ""; }; A083E27A22DF467B0020E0D5 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/PluginDataView.strings; sourceTree = ""; }; @@ -1011,7 +1020,6 @@ FA638D0F1C39BFCB00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PasswordEditWindow.strings; sourceTree = ""; }; FA638D101C39BFCB00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/WelcomeView.strings; sourceTree = ""; }; FA638D111C39BFCB00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/GeneralPreferences.strings; sourceTree = ""; }; - FA638D121C39BFCB00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/IntegrationPreferences.strings; sourceTree = ""; }; FA638D131C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/WorkflowPreferences.strings; sourceTree = ""; }; FA638D141C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/UpdatePreferences.strings; sourceTree = ""; }; FA638D151C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PluginPreferences.strings; sourceTree = ""; }; @@ -1645,7 +1653,7 @@ 4C7F8B6A1A10B68400CCB83D /* WelcomeView.xib */, 4CAD8AA322CF397B0090B2DD /* MPAutotypeDoctorReportViewController.h */, 4CAD8AA422CF397B0090B2DD /* MPAutotypeDoctorReportViewController.m */, - 4CAD8AA522CF397B0090B2DD /* AutotypeDoctorReportViewController.xib */, + 78E1F8B222E3A5D600E738AE /* AutotypeDoctorReportViewController.xib */, ); name = "View Controller"; sourceTree = ""; @@ -1878,7 +1886,7 @@ 4C3826B41AD04D8E007D7D67 /* 39_HistoryTemplate.pdf in Resources */, 4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */, 4C3826CD1AD04D8E007D7D67 /* 66_MoneyTemplate.pdf in Resources */, - 4CAD8AA722CF397B0090B2DD /* AutotypeDoctorReportViewController.xib in Resources */, + 78E1F8B022E3A5D600E738AE /* AutotypeDoctorReportViewController.xib in Resources */, 4CA0B2ED15BCADAC00654E32 /* PreferencesWindow.xib in Resources */, 4C76155C1764C04C0015A1A6 /* GeneralPreferences.xib in Resources */, 4CD884B715BD47080042BBF8 /* DocumentWindow.xib in Resources */, @@ -2190,6 +2198,7 @@ 4C272A282224871900186EEC /* nl */, 4C1D56302271F4BC00C3E594 /* fr */, A083E27922DF467B0020E0D5 /* es */, + 78E1F8B822E3B06700E738AE /* ru */, ); name = PickcharsView.xib; sourceTree = ""; @@ -2205,6 +2214,7 @@ 4C272A2B2224871900186EEC /* nl */, 4C1D56372271F4BC00C3E594 /* fr */, A083E27F22DF467B0020E0D5 /* es */, + 78E1F8BA22E3B0B700E738AE /* ru */, ); name = PickfieldView.xib; sourceTree = ""; @@ -2236,6 +2246,7 @@ 4C272A2A2224871900186EEC /* nl */, 4C1D56332271F4BC00C3E594 /* fr */, A083E27C22DF467B0020E0D5 /* es */, + 78E1F8BC22E3B12300E738AE /* ru */, ); name = OpenPanelAccessoryView.xib; sourceTree = ""; @@ -2483,6 +2494,7 @@ 4C272A292224871900186EEC /* nl */, 4C1D56312271F4BC00C3E594 /* fr */, A083E27A22DF467B0020E0D5 /* es */, + 78E1F8C022E3B22500E738AE /* ru */, ); name = PluginDataView.xib; sourceTree = ""; @@ -2530,13 +2542,13 @@ 6021FE5C18E142A200C3BC51 /* de */, 6021FE5E18E142A300C3BC51 /* fr */, BD6C365919484CF40089EB37 /* nl */, - FA638D121C39BFCB00B10CC6 /* ru */, 4825CC851C414D57003E37E9 /* it */, 4C840C481D773E5D0081F605 /* pl */, 60ECAD271F12262400EA9DB3 /* zh-Hans */, 4C4161051F50333B003BC0AF /* es */, 6A74B0662076F4B40049BC29 /* sv-SE */, 4C4B2ED522D8D3B100EB6BFD /* en */, + 78E1F8AF22E3A3DF00E738AE /* ru */, ); name = IntegrationPreferences.xib; sourceTree = ""; @@ -2662,6 +2674,16 @@ name = PluginRepositoryBrowserView.xib; sourceTree = ""; }; + 78E1F8B222E3A5D600E738AE /* AutotypeDoctorReportViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + 78E1F8B122E3A5D600E738AE /* Base */, + 78E1F8B422E3A5DB00E738AE /* ru */, + 78E1F8B622E3A5E900E738AE /* en */, + ); + name = AutotypeDoctorReportViewController.xib; + sourceTree = ""; + }; FA13910A1F9CD9EB0033D256 /* Localizable.stringsdict */ = { isa = PBXVariantGroup; children = ( @@ -2672,6 +2694,7 @@ 6A74B0792076F4B50049BC29 /* sv-SE */, 4C1D562F2271F4BC00C3E594 /* fr */, A019D80F22DC6B3C0085FD54 /* es */, + 78E1F8C122E3B32D00E738AE /* ru */, ); name = Localizable.stringsdict; sourceTree = ""; @@ -2687,6 +2710,7 @@ 6A74B0742076F4B50049BC29 /* sv-SE */, 4C1D56322271F4BC00C3E594 /* fr */, A083E27B22DF467B0020E0D5 /* es */, + 78E1F8BE22E3B1BF00E738AE /* ru */, ); name = AutotypeCandidateSelectionView.xib; sourceTree = ""; diff --git a/MacPass/AutotypeDoctorReportViewController.xib b/MacPass/Base.lproj/AutotypeDoctorReportViewController.xib similarity index 100% rename from MacPass/AutotypeDoctorReportViewController.xib rename to MacPass/Base.lproj/AutotypeDoctorReportViewController.xib diff --git a/MacPass/en.lproj/AutotypeDoctorReportViewController.strings b/MacPass/en.lproj/AutotypeDoctorReportViewController.strings new file mode 100644 index 00000000..e8f267e0 --- /dev/null +++ b/MacPass/en.lproj/AutotypeDoctorReportViewController.strings @@ -0,0 +1,18 @@ + +/* Class = "NSTextFieldCell"; title = "MacPass will send key press events to the system when Autotype or Global Autotype is executed. Since macOS 10.14 Mojave this is only possible, if Accessibility permissions are granted to the application."; ObjectID = "6GI-KJ-Xue"; */ +"6GI-KJ-Xue.title" = "MacPass will send key press events to the system when Autotype or Global Autotype is executed. Since macOS 10.14 Mojave this is only possible, if Accessibility permissions are granted to the application."; + +/* Class = "NSTextFieldCell"; title = "MacPass will read every window title when Global Autotype is executed to find a match. Since macOS 10.15 Catalina it is not possible to read any window title, if the user has not granted permissions to record the screen. If you are running macOS 10.15 or higher, MacPass will try to capture the left top most pixel on your screen to initate a request to record the screen. This pixel will not be stored and processed in any way."; ObjectID = "7of-1z-Nfk"; */ +"7of-1z-Nfk.title" = "MacPass will read every window title when Global Autotype is executed to find a match. Since macOS 10.15 Catalina it is not possible to read any window title, if the user has not granted permissions to record the screen. If you are running macOS 10.15 or higher, MacPass will try to capture the left top most pixel on your screen to initate a request to record the screen. This pixel will not be stored and processed in any way."; + +/* Class = "NSButtonCell"; title = "Open Accessibilty Preferences…"; ObjectID = "8m1-vs-pd5"; */ +"8m1-vs-pd5.title" = "Open Accessibilty Preferences…"; + +/* Class = "NSTextFieldCell"; title = "Screen Recording"; ObjectID = "9gr-mz-2I4"; */ +"9gr-mz-2I4.title" = "Screen Recording"; + +/* Class = "NSTextFieldCell"; title = "Accessibility"; ObjectID = "aIL-8W-63g"; */ +"aIL-8W-63g.title" = "Accessibility"; + +/* Class = "NSButtonCell"; title = "Open Screen Sharing Preferences…"; ObjectID = "lgB-Ys-L9R"; */ +"lgB-Ys-L9R.title" = "Open Screen Sharing Preferences…"; diff --git a/MacPass/ru.lproj/AutotypeCandidateSelectionView.strings b/MacPass/ru.lproj/AutotypeCandidateSelectionView.strings new file mode 100644 index 00000000..ef27e744 --- /dev/null +++ b/MacPass/ru.lproj/AutotypeCandidateSelectionView.strings @@ -0,0 +1,15 @@ +/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "60p-7v-Nje"; */ +"60p-7v-Nje.title" = "Отмена"; + +/* Class = "NSTextFieldCell"; title = "There are multiple matches for the current window. Please select which match should be used."; ObjectID = "gcf-gb-ZsF"; */ +"gcf-gb-ZsF.title" = "Есть несколько совпадений для текущего окна. Пожалуйста, выберите, какое совпадение следует использовать."; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "PKW-gr-yqN"; */ +"PKW-gr-yqN.title" = "Text Cell"; + +/* Class = "NSTextFieldCell"; title = "Content"; ObjectID = "TN3-3a-LaA"; */ +"TN3-3a-LaA.title" = "Content"; + +/* Class = "NSButtonCell"; title = "Perform Autotype"; ObjectID = "w7H-hx-CUF"; */ +"w7H-hx-CUF.title" = "Выполнить автоввод"; + diff --git a/MacPass/ru.lproj/AutotypeDoctorReportViewController.strings b/MacPass/ru.lproj/AutotypeDoctorReportViewController.strings new file mode 100644 index 00000000..83dbcfc2 --- /dev/null +++ b/MacPass/ru.lproj/AutotypeDoctorReportViewController.strings @@ -0,0 +1,18 @@ +/* Class = "NSTextFieldCell"; title = "MacPass will send key press events to the system when Autotype or Global Autotype is executed. Since macOS 10.14 Mojave this is only possible, if Accessibility permissions are granted to the application."; ObjectID = "6GI-KJ-Xue"; */ +"6GI-KJ-Xue.title" = "MacPass будет отправлять события нажатия клавиш в систему при выполнении Автоввода или Глобального Автоввода. Начиная с macOS 10.14 Mojave это возможно только в том случае, если приложению разрешено управление копьютером через универсальный доступ."; + +/* Class = "NSTextFieldCell"; title = "MacPass will read every window title when Global Autotype is executed to find a match. Since macOS 10.15 Catalina it is not possible to read any window title, if the user has not granted permissions to record the screen. If you are running macOS 10.15 or higher, MacPass will try to capture the left top most pixel on your screen to initate a request to record the screen. This pixel will not be stored and processed in any way."; ObjectID = "7of-1z-Nfk"; */ +"7of-1z-Nfk.title" = "MacPass будет читать заголовки окон чтобы найти совпадения при выполнении Глобального Автоввода. Начиная с macOS 10.15 Catalina невозможно прочитать заголовок окна, если пользователь не предоставил разрешения на запись экрана. Если вы используете MacOS 10.15 или выше, MacPass попытается захватить левый верхний пиксель на вашем экране, чтобы инициировать запрос на запись экрана. Этот пиксель не будет сохранен и обработан каким-либо образом."; + +/* Class = "NSButtonCell"; title = "Open Accessibilty Preferences…"; ObjectID = "8m1-vs-pd5"; */ +"8m1-vs-pd5.title" = "Открыть настройки универсального доступа…"; + +/* Class = "NSTextFieldCell"; title = "Screen Recording"; ObjectID = "9gr-mz-2I4"; */ +"9gr-mz-2I4.title" = "Запись экрана"; + +/* Class = "NSTextFieldCell"; title = "Accessibility"; ObjectID = "aIL-8W-63g"; */ +"aIL-8W-63g.title" = "Универсальный доступ"; + +/* Class = "NSButtonCell"; title = "Open Screen Sharing Preferences…"; ObjectID = "lgB-Ys-L9R"; */ +"lgB-Ys-L9R.title" = "Открыть настройки безопасности…"; + diff --git a/MacPass/ru.lproj/ContextBar.strings b/MacPass/ru.lproj/ContextBar.strings index 035c4309..12c94508 100644 --- a/MacPass/ru.lproj/ContextBar.strings +++ b/MacPass/ru.lproj/ContextBar.strings @@ -1,15 +1,14 @@ - /* Class = "NSTextFieldCell"; title = "Search:"; ObjectID = "7"; */ -"7.title" = "Search:"; - -/* Class = "NSButtonCell"; title = "Title"; ObjectID = "53D-ne-nv6"; */ -"53D-ne-nv6.title" = "Title"; +"7.title" = "Поиск:"; /* Class = "NSButtonCell"; title = "Empty Trash"; ObjectID = "8Ok-oe-6AB"; */ -"8Ok-oe-6AB.title" = "Empty Trash"; +"8Ok-oe-6AB.title" = "Очистить корзину"; /* Class = "NSTextFieldCell"; title = "Trash"; ObjectID = "8P1-Rp-sF4"; */ -"8P1-Rp-sF4.title" = "Trash"; +"8P1-Rp-sF4.title" = "Корзина"; + +/* Class = "NSButtonCell"; title = "Title"; ObjectID = "53D-ne-nv6"; */ +"53D-ne-nv6.title" = "Заголовок"; /* Class = "NSButtonCell"; title = "URL"; ObjectID = "92o-gN-Psj"; */ "92o-gN-Psj.title" = "URL"; @@ -17,38 +16,42 @@ /* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "CFk-71-NYQ"; */ "CFk-71-NYQ.title" = "Item 3"; +/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "cpr-p6-YAY"; */ +"cpr-p6-YAY.title" = "Item 2"; + /* Class = "NSTextFieldCell"; title = "History"; ObjectID = "ER3-Ic-v0N"; */ -"ER3-Ic-v0N.title" = "History"; +"ER3-Ic-v0N.title" = "История изменений"; + +/* Class = "NSButtonCell"; title = "Exit History"; ObjectID = "ewQ-8F-e1E"; */ +"ewQ-8F-e1E.title" = "Закрыть историю"; + +/* Class = "NSButtonCell"; title = "Notes"; ObjectID = "iDN-2E-hwt"; */ +"iDN-2E-hwt.title" = "Заметки"; + +/* Class = "NSButtonCell"; title = "Username"; ObjectID = "jfQ-Jh-2gl"; */ +"jfQ-Jh-2gl.title" = "Имя пользователя"; /* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "LRm-iZ-XrA"; */ "LRm-iZ-XrA.title" = "Item 1"; -/* Class = "NSButtonCell"; title = "Restore Entry"; ObjectID = "UTg-y9-4DN"; */ -"UTg-y9-4DN.title" = "Restore Entry"; - -/* Class = "NSTabViewItem"; label = "Filter"; ObjectID = "Ud6-Nz-6PS"; */ -"Ud6-Nz-6PS.label" = "Filter"; - -/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "cpr-p6-YAY"; */ -"cpr-p6-YAY.title" = "Item 2"; - -/* Class = "NSButtonCell"; title = "Exit History"; ObjectID = "ewQ-8F-e1E"; */ -"ewQ-8F-e1E.title" = "Exit History"; - -/* Class = "NSButtonCell"; title = "Notes"; ObjectID = "iDN-2E-hwt"; */ -"iDN-2E-hwt.title" = "Notes"; - -/* Class = "NSButtonCell"; title = "Username"; ObjectID = "jfQ-Jh-2gl"; */ -"jfQ-Jh-2gl.title" = "Username"; - /* Class = "NSTabViewItem"; label = "Trash"; ObjectID = "na6-h9-r9q"; */ -"na6-h9-r9q.label" = "Trash"; +"na6-h9-r9q.label" = "Корзина"; /* Class = "NSButtonCell"; title = "Password"; ObjectID = "rvQ-4V-SsS"; */ -"rvQ-4V-SsS.title" = "Password"; +"rvQ-4V-SsS.title" = "Пароль"; + +/* Class = "NSTabViewItem"; label = "Filter"; ObjectID = "Ud6-Nz-6PS"; */ +"Ud6-Nz-6PS.label" = "Фильтр"; + +/* Class = "NSButtonCell"; title = "Restore Entry"; ObjectID = "UTg-y9-4DN"; */ +"UTg-y9-4DN.title" = "Восстановить запись"; /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "wC4-fF-dLW"; */ "wC4-fF-dLW.title" = "OtherViews"; +/* Class = "NSButtonCell"; title = "Everywhere"; ObjectID = "WMK-bb-ESj"; */ +"WMK-bb-ESj.title" = "Искать везде"; + /* Class = "NSTabViewItem"; label = "History"; ObjectID = "z4I-cp-nhf"; */ -"z4I-cp-nhf.label" = "History"; +"z4I-cp-nhf.label" = "История изменений"; + diff --git a/MacPass/ru.lproj/DatabaseSettingsWindow.strings b/MacPass/ru.lproj/DatabaseSettingsWindow.strings index 8d9b0c1f..00d1f520 100644 --- a/MacPass/ru.lproj/DatabaseSettingsWindow.strings +++ b/MacPass/ru.lproj/DatabaseSettingsWindow.strings @@ -1,6 +1,15 @@ /* Class = "NSWindow"; title = "Window"; ObjectID = "1"; */ "1.title" = "Окно"; +/* Class = "NSTextFieldCell"; title = "Threads"; ObjectID = "2QI-ne-N5d"; */ +"2QI-ne-N5d.title" = "Потоков"; + +/* Class = "NSTextFieldCell"; title = "Iterations"; ObjectID = "2ZA-Gc-JdZ"; */ +"2ZA-Gc-JdZ.title" = "Повторений"; + +/* Class = "NSTextFieldCell"; title = "Enforce key change"; ObjectID = "5QH-N1-FHK"; */ +"5QH-N1-FHK.title" = "Смена ключа:"; + /* Class = "NSTextFieldCell"; title = "Database name:"; ObjectID = "190"; */ "190.title" = "Имя базы данных:"; @@ -61,14 +70,36 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "1740"; */ "1740.title" = "OtherViews"; -/* Class = "NSButtonCell"; title = "Recommend key change"; ObjectID = "CtU-Eq-dgy"; */ -"CtU-Eq-dgy.title" = "Рекомендовать сменую ключа каждые:"; - -/* Class = "NSButtonCell"; title = "Force key change"; ObjectID = "z6u-YT-7LE"; */ -"z6u-YT-7LE.title" = "Требовать сменую ключа каждые:"; - /* Class = "NSTextFieldCell"; title = "File format:"; ObjectID = "bTk-YZ-x0G"; */ "bTk-YZ-x0G.title" = "Формат файла"; +/* Class = "NSButtonCell"; title = "Recommend key change"; ObjectID = "CtU-Eq-dgy"; */ +"CtU-Eq-dgy.title" = "Рекомендовать смену ключа"; + +/* Class = "NSTextFieldCell"; title = "Algorithm"; ObjectID = "GVd-KH-pHc"; */ +"GVd-KH-pHc.title" = "Алгоритм"; + +/* Class = "NSTextFieldCell"; title = "Encryption:"; ObjectID = "gxY-UL-bEG"; */ +"gxY-UL-bEG.title" = "Шифрование:"; + +/* Class = "NSTextFieldCell"; title = "Memory"; ObjectID = "iRY-If-Kwn"; */ +"iRY-If-Kwn.title" = "Память"; + +/* Class = "NSTextFieldCell"; title = "Recyclebin Group:"; ObjectID = "kI5-Kp-byE"; */ +"kI5-Kp-byE.title" = "Группа для корзины:"; + /* Class = "NSButtonCell"; title = "Force key change once after unlocking"; ObjectID = "pA1-aL-KjT"; */ "pA1-aL-KjT.title" = "Принудительная смена ключа после разблокировки"; + +/* Class = "NSBox"; title = "Key derivation"; ObjectID = "pbl-Mb-r8V"; */ +"pbl-Mb-r8V.title" = "Функция формирования ключа"; + +/* Class = "NSTextFieldCell"; title = "Rounds"; ObjectID = "uUQ-9s-M5E"; */ +"uUQ-9s-M5E.title" = "Раунды"; + +/* Class = "NSTextFieldCell"; title = "Recommend key change"; ObjectID = "Xib-Fn-sqx"; */ +"Xib-Fn-sqx.title" = "Рекомендация смены ключа:"; + +/* Class = "NSButtonCell"; title = "Force key change"; ObjectID = "z6u-YT-7LE"; */ +"z6u-YT-7LE.title" = "Требовать смену ключа"; + diff --git a/MacPass/ru.lproj/DuplicateEntryOptionsWindow.strings b/MacPass/ru.lproj/DuplicateEntryOptionsWindow.strings index 59e0aa05..b760312c 100644 --- a/MacPass/ru.lproj/DuplicateEntryOptionsWindow.strings +++ b/MacPass/ru.lproj/DuplicateEntryOptionsWindow.strings @@ -1,18 +1,18 @@ - -/* Class = "NSButtonCell"; title = "Reference username instead of copying it"; ObjectID = "O9X-XH-n8o"; */ -"O9X-XH-n8o.title" = "Reference username instead of copying it"; - -/* Class = "NSWindow"; title = "Window"; ObjectID = "QvC-M9-y7g"; */ -"QvC-M9-y7g.title" = "Window"; - -/* Class = "NSButtonCell"; title = "Duplicate Entry"; ObjectID = "WqI-qH-ARf"; */ -"WqI-qH-ARf.title" = "Duplicate Entry"; +/* Class = "NSButtonCell"; title = "Reference password instead of copying it"; ObjectID = "daA-QV-CDq"; */ +"daA-QV-CDq.title" = "Создать ссылку на пароль вместо копирования"; /* Class = "NSButtonCell"; title = "Duplicate history"; ObjectID = "dXl-KS-4rE"; */ -"dXl-KS-4rE.title" = "Duplicate history"; +"dXl-KS-4rE.title" = "Скопировать историю"; -/* Class = "NSButtonCell"; title = "Reference password instead of copying it"; ObjectID = "daA-QV-CDq"; */ -"daA-QV-CDq.title" = "Reference password instead of copying it"; +/* Class = "NSButtonCell"; title = "Reference username instead of copying it"; ObjectID = "O9X-XH-n8o"; */ +"O9X-XH-n8o.title" = "Создать ссылку на имя пользователя вместо копирования"; + +/* Class = "NSWindow"; title = "Duplicate Entry Options"; ObjectID = "QvC-M9-y7g"; */ +"QvC-M9-y7g.title" = "Опции копирования"; + +/* Class = "NSButtonCell"; title = "Duplicate Entry"; ObjectID = "WqI-qH-ARf"; */ +"WqI-qH-ARf.title" = "Скопировать запись"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "x6e-bE-Y6R"; */ -"x6e-bE-Y6R.title" = "Cancel"; +"x6e-bE-Y6R.title" = "Отмена"; + diff --git a/MacPass/ru.lproj/InspectorView.strings b/MacPass/ru.lproj/InspectorView.strings index 071d58a2..570962c0 100644 --- a/MacPass/ru.lproj/InspectorView.strings +++ b/MacPass/ru.lproj/InspectorView.strings @@ -1,4 +1,3 @@ - /* Class = "NSTabViewItem"; label = "Group"; ObjectID = "2896"; */ "2896.label" = "Группа"; @@ -14,17 +13,9 @@ /* Class = "NSTextFieldCell"; title = "Label"; ObjectID = "3014"; */ "3014.title" = "Ярлык"; -/* Class = "NSButtonCell"; title = "Edit"; ObjectID = "3110"; */ -"3110.title" = "Изменить"; - -/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "3127"; */ -"3127.title" = "Отметка"; - /* Class = "NSTextFieldCell"; title = "Notes"; ObjectID = "hwn-UY-9Cr"; */ "hwn-UY-9Cr.title" = "Заметки"; -/* Class = "NSButtonCell"; title = "History"; ObjectID = "w1z-1n-b0m"; */ -"w1z-1n-b0m.title" = "История"; - /* Class = "CocoaBindingsConnection"; ibShadowedIsNilPlaceholder = "None"; ObjectID = "Xpb-G8-gXl"; */ "Xpb-G8-gXl.ibShadowedIsNilPlaceholder" = "Нет"; + diff --git a/MacPass/ru.lproj/IntegrationPreferences.strings b/MacPass/ru.lproj/IntegrationPreferences.strings index 4d535daf..aa362511 100644 --- a/MacPass/ru.lproj/IntegrationPreferences.strings +++ b/MacPass/ru.lproj/IntegrationPreferences.strings @@ -1,5 +1,5 @@ /* Class = "NSButtonCell"; title = "Enable global Autotype"; ObjectID = "1qb-Rd-jYu"; */ -"1qb-Rd-jYu.title" = "Включить глобальный Автоввод"; +"1qb-Rd-jYu.title" = "Включить глобальный автоввод"; /* Class = "NSTextFieldCell"; title = "Shortcut"; ObjectID = "6oN-CH-T0O"; */ "6oN-CH-T0O.title" = "Хоткей"; @@ -10,14 +10,14 @@ /* Class = "NSButtonCell"; title = "Enable Quicklook Preview"; ObjectID = "ERs-ct-Eyx"; */ "ERs-ct-Eyx.title" = "Использовать Быстрый Предпросмотр"; -/* Class = "NSTextFieldCell"; title = "Autotype is not available, because MacPass is not allowed to control your computer. To enable Autotype, go to the Security and Privacy Preferences and add MacPass to the Accessibilty group. Changes require a restart of MacPass."; ObjectID = "H37-ku-aTc"; */ -"H37-ku-aTc.title" = "Автоввод недоступен, потому что MacPass не имеет разрешения на управление вашим компьютером."; +/* Class = "NSTextFieldCell"; title = "Autotype might not work properly. Some issues where found that prevent Autotype or Global Autotype to work. Please run the Autotype Doctor to fix those issues."; ObjectID = "H37-ku-aTc"; */ +"H37-ku-aTc.title" = "Автоввод может не работать. Обнаружены некоторые проблемы, которые мешают работе автоввода. Пожалуйста, запустите Помощник Автоввода, чтобы исправить эти проблемы."; /* Class = "NSTextFieldCell"; title = "Shortcut is missing Key"; ObjectID = "Lxp-wI-yQy"; */ -"Lxp-wI-yQy.title" = "Задайте Клавишу для Ярлыка"; +"Lxp-wI-yQy.title" = "Задайте клавишу для хоткея"; -/* Class = "NSButtonCell"; title = "Open Preferences…"; ObjectID = "NP0-R3-m6n"; */ -"NP0-R3-m6n.title" = "Открыть настройки"; +/* Class = "NSButtonCell"; title = "Run Autotype Doctor…"; ObjectID = "NP0-R3-m6n"; */ +"NP0-R3-m6n.title" = "Запустить Помощник Автоввода…"; /* Class = "NSBox"; title = "Autotype"; ObjectID = "P9N-HM-wER"; */ "P9N-HM-wER.title" = "Автоввод"; diff --git a/MacPass/ru.lproj/Localizable.strings b/MacPass/ru.lproj/Localizable.strings index 9e333f92..610053d4 100644 --- a/MacPass/ru.lproj/Localizable.strings +++ b/MacPass/ru.lproj/Localizable.strings @@ -37,6 +37,18 @@ /* Action to add an entry via template */ "ADD_TREMPLATE_ENTRY" = "Создать шаблонную запись"; +/* Allow the download of the plugin repository file */ +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_ALLOW_DOWNLOAD" = "Разрешить обновление"; + +/* Informative text displayed on the alert that shows up when MacPass asks for permssion to download the plugin repository JSON file */ +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_INFORMATIVE_TEXT" = "Информация о плагинах находится на сайте https://macpassapp.org. MacPass скачает файлы чтобы проверить наличие обновлений."; + +/* Message displayed on the alert that asks for permission to download the plugin repository JSON file */ +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_CONNECTION_PERMISSION_MESSAGE" = "Проверять обновления плагинов?"; + +/* Disallow the download of the plugin repository file */ +"ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD" = "Запретить обновление"; + /* Button in dialog to leave autotype disabled and continiue! */ "ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_BUTTON_OK" = "Оставить отключенным"; @@ -101,6 +113,12 @@ /* Menu item for automatic trash creation */ "AUTOCREATE_TRASH_FOLDER" = "Создать Автоматически"; +/* Message text in the autotype selection window. Placeholder is %1 - windowTitle */ +"AUTOTYPE_CANDIDATE_SELECTION_WINDOW_MESSAGE_%@" = "Найдено несколько совпадений для текущего окна: %@. Выберите какое совпадение следует использовать."; + +/* Window title for the stand-alone password creator window */ +"AUTOTYPE_DOCTOR_RESULTS_WINDOW_TITLE" = "Помощник автоввода"; + /* Inherit autotype settings menu item */ "AUTOTYPE_INHERIT" = "Наследовать Настройки Автоввода"; @@ -110,8 +128,8 @@ /* Disable autotype menu item */ "AUTOTYPE_NO" = "Отключить Автоввод"; -/* Notification: Autotype failed, MacPass has no permission to send key strokes */ -"AUTOTYPE_NOTIFICATION_MACPASS_HAS_NO_ACCESSIBILTY_PERMISSIONS" = "Автоввод отключен, так как MacPass не имеет разрешений универсального доступа"; +/* Notification: Autotype failed, MacPass has not enough permissions to perform autotype */ +"AUTOTYPE_NOTIFICATION_MACPASS_IS_MISSING_PERMISSIONS" = "MacPass не имеет необходимых разрешений для выполнения автоввода"; /* Notification: Autotype failed, no documents are open */ "AUTOTYPE_OVERLAY_NO_DOCUMENTS" = "Откройте файл базы данных для использования глобального автоввода!"; @@ -122,6 +140,18 @@ /* Notification: Autotype found a single match for %@ (string placeholder). */ "AUTOTYPE_OVERLAY_SINGLE_MATCH_FOR_%@" = "Найдено совпадение с %@"; +/* Status lable when no issue were found in accessibilty */ +"AUTOTYPE_STATUS_ACCESSIBILTY_PERMISSIONS_OK" = "MacPass имеет разрешение на управление компьютером"; + +/* Status MacPass has no accessibilty permissions */ +"AUTOTYPE_STATUS_NO_ACCESSIBILTY_PERMISSIONS" = "MacPass не имеет разрешения на управление компьютером"; + +/* Status MacPass has no screen recording permissions */ +"AUTOTYPE_STATUS_NO_SCREEN_RECORDING_PERMISSIONS" = "MacPass не имеет разрешения на запись экрана"; + +/* Status lable when no issue were found in screen recording permissions */ +"AUTOTYPE_STATUS_SCREEN_RECORDING_PERMISSIONS_OK" = "MacPass имеет разрешение на запись экрана"; + /* Notficication: Autotype timed out */ "AUTOTYPE_TIMED_OUT" = "Истекло время автоввода"; @@ -277,6 +307,14 @@ /* Empty Trash */ "DELETE_TRASHED_GROUP" = "Удалить группу из корзины"; +/* Action title for copying an entry via drag and drop to another database + Action title for moving an entry via drag and drop */ +"DRAG_ENTRY" = "Перетащить запись"; + +/* Action title for moving a group via drag and drop + Actiontitle for copying groups via drag and drop to antother database */ +"DRAG_GROUP" = "Перетащить группу"; + /* Action name for duplicating entries */ "DUPLICATE_ENTRIES_%ld" = "Дублирующиеся записи %ld"; @@ -317,6 +355,12 @@ /* Error description given when adding an invalid plugin */ "ERROR_INVALID_PLUGIN" = "Недействительный плагин"; +/* Error description for missing accessibilty permissions */ +"ERROR_NO_ACCESSIBILTY_PERMISSIONS" = "MacPass не имеет разрешения на управление компьютером (Универсальный доступ)"; + +/* Error description for missing screen recording permissions */ +"ERROR_NO_PERMISSION_TO_RECORD_SCREEN" = "MacPass не имеет разрешения на запись экрана"; + /* Passwords do not match */ "ERROR_PASSWORD_MISSMATCH" = "Пароли не соответствуют!"; @@ -478,9 +522,6 @@ /* Action button in Notification to open a document */ "OPEN_DOCUMENT" = "Открыть Документ"; -/* Action button in Notification to show the Accessibilty preferences */ -"OPEN_PREFERENCES" = "Открыть настройки"; - /* Menu item to open the URL with the default application */ "OPEN_URL" = "Открыть URL"; @@ -652,6 +693,9 @@ /* Checkbox in dialog to set the selection as default file change strategy! */ "SET_AS_DEFAULT_FILE_CHANGE_STRATEGY" = "Использовать этот способ по умолчанию. Вы сможете поменять это в любое время в настройках."; +/* Action button in Notification to show the Autotype Doctor */ +"SHOW_AUTOTYPE_DOCTOR" = "Показать помощник автоввода"; + /* Menu item to show the history of the selected entry Toolbar item to toggle history display */ "SHOW_HISTORY" = "Показать историю"; @@ -668,11 +712,47 @@ /* Toolbar item to perform autotype */ "TOOLBAR_PERFORM_AUTOTYPE_FOR_ENTRY" = "Автоввод"; +/* Touchbar button label for choosing the keyfile */ +"TOUCHBAR_CHOOSE_KEYFILE" = "Выбрать файл ключа"; + +/* Touchbar button label for copying the password */ +"TOUCHBAR_COPY_PASSWORD" = "Копировать пароль"; + +/* Touchbar button label for copying the username */ +"TOUCHBAR_COPY_USERNAME" = "Копировать имя пользователя"; + +/* Touchbar button label for deleting elements */ +"TOUCHBAR_DELETE" = "Удалить"; + +/* Touchbar button label for opening the popover to edit */ +"TOUCHBAR_EDIT" = "Редактировать"; + +/* Touchbar button label for locking the database */ +"TOUCHBAR_LOCK_DATABASE" = "Заблокировать базу данных"; + +/* Touchbar button label for creating a new item */ +"TOUCHBAR_NEW_ENTRY" = "Новая запись"; + +/* Touchbar button label for creating a new group */ +"TOUCHBAR_NEW_GROUP" = "Новая группа"; + +/* Touchbar button label for performing autotype */ +"TOUCHBAR_PERFORM_AUTOTYPE" = "Автоввод"; + +/* Touchbar button label for searching the database */ +"TOUCHBAR_SEARCH" = "Поиск базы данных"; + +/* Touchbar button label for showing the password */ +"TOUCHBAR_SHOW_PASSWORD" = "Показать пароль"; + +/* Touchbar button label for unlocking the database */ +"TOUCHBAR_UNLOCK_DATABASE" = "Разблокировать базу данных"; + /* Move Entry to Trash */ -"TRASH_ENTRY" = "Удалить Запись"; +"TRASH_ENTRY" = "Удалить запись"; /* Move Group to Trash */ -"TRASH_GROUP" = "Удалить Группу"; +"TRASH_GROUP" = "Удалить группу"; /* Uninstall plugin */ "UNINSTALL" = "Удалить"; diff --git a/MacPass/ru.lproj/Localizable.stringsdict b/MacPass/ru.lproj/Localizable.stringsdict new file mode 100644 index 00000000..ada74a9c --- /dev/null +++ b/MacPass/ru.lproj/Localizable.stringsdict @@ -0,0 +1,116 @@ + + + + + %ld_CHARACTERS_TO_PICK_REMAINING + + NSStringLocalizedFormatKey + %#@characters@ + characters + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + few + %ld символа осталось + many + %ld символов осталось + one + Остался один символ + other + %ld символов осталось + zero + Выбраны все символы + + + DUPLICATE_ENTRIES_%ld + + NSStringLocalizedFormatKey + %#@entries@ + entries + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + few + копирование записей + many + копирование записей + one + копирование записи + other + копирование записей + zero + копирование записей + + + EVERY_%ld_DAYS + + NSStringLocalizedFormatKey + %#@days@ + days + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + few + каждые %ld дня + many + каждые %ld дней + one + каждый день + other + каждые %ld дней + zero + после каждого открытия + + + PICKCHAR_INFO_MESSAGE_PICK_CHARACTERS_%ld + + NSStringLocalizedFormatKey + %#@characters@ + characters + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + few + Выберите %ld символа + many + Выберите %ld символов + one + Выберите %ld символ + other + Выберите %ld символов + zero + Выберите символы + + + PICKED_%ld_CHARACTERS + + NSStringLocalizedFormatKey + %#@characters@ + characters + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + few + %ld символов выбрано + many + %ld символов выбрано + one + %ld символ выбран + other + %ld символов выбрано + zero + Не выбрано ни одного символа + + + + diff --git a/MacPass/ru.lproj/MainMenu.strings b/MacPass/ru.lproj/MainMenu.strings index fd0d40b9..0811e9b3 100644 --- a/MacPass/ru.lproj/MainMenu.strings +++ b/MacPass/ru.lproj/MainMenu.strings @@ -139,8 +139,8 @@ /* Class = "NSMenuItem"; title = "Toggle Inspector"; ObjectID = "1181"; */ "1181.title" = "Переключить Инспектор"; -/* Class = "NSMenuItem"; title = "Show Password Generator"; ObjectID = "1200"; */ -"1200.title" = "Показать Генератор Паролей"; +/* Class = "NSMenuItem"; title = "Password Generator"; ObjectID = "1200"; */ +"1200.title" = "Генератор паролей"; /* Class = "NSMenuItem"; title = "Change Master Password…"; ObjectID = "1203"; */ "1203.title" = "Изменить Мастер Пароль…"; @@ -193,3 +193,6 @@ /* Class = "NSMenuItem"; title = "Merge With…"; ObjectID = "zvE-0h-UxI"; */ "zvE-0h-UxI.title" = "Слияние с…"; +/* Class = "NSMenuItem"; title = "Autotype Doctor"; ObjectID = "zWx-Re-iuJ"; */ +"zWx-Re-iuJ.title" = "Помощник автоввода"; + diff --git a/MacPass/ru.lproj/OpenPanelAccessoryView.strings b/MacPass/ru.lproj/OpenPanelAccessoryView.strings new file mode 100644 index 00000000..10488be1 --- /dev/null +++ b/MacPass/ru.lproj/OpenPanelAccessoryView.strings @@ -0,0 +1,6 @@ +/* Class = "NSButtonCell"; title = "Show hidden files"; ObjectID = "FfY-KA-8IC"; */ +"FfY-KA-8IC.title" = "Показать скрытые файлы"; + +/* Class = "NSButtonCell"; title = "Allow all files"; ObjectID = "tvV-1s-Be3"; */ +"tvV-1s-Be3.title" = "Разрешить выбор всех файлов"; + diff --git a/MacPass/ru.lproj/PasswordEditWindow.strings b/MacPass/ru.lproj/PasswordEditWindow.strings index 7b9f9441..d97f6ae0 100644 --- a/MacPass/ru.lproj/PasswordEditWindow.strings +++ b/MacPass/ru.lproj/PasswordEditWindow.strings @@ -1,5 +1,4 @@ - -/* Class = "NSWindow"; title = "Window"; ObjectID = "1"; */ +/* Class = "NSWindow"; title = "Change Password"; ObjectID = "1"; */ "1.title" = "Окно"; /* Class = "NSTextFieldCell"; title = "Missmatching Passwords"; ObjectID = "14"; */ @@ -28,3 +27,4 @@ /* Class = "NSButtonCell"; title = "Password:"; ObjectID = "OQz-DA-SoY"; */ "OQz-DA-SoY.title" = "Пароль:"; + diff --git a/MacPass/ru.lproj/PickcharsView.strings b/MacPass/ru.lproj/PickcharsView.strings new file mode 100644 index 00000000..c2377b26 --- /dev/null +++ b/MacPass/ru.lproj/PickcharsView.strings @@ -0,0 +1,18 @@ +/* Class = "NSButtonCell"; title = "Submit"; ObjectID = "8vP-Ka-vsA"; */ +"8vP-Ka-vsA.title" = "Отправить"; + +/* Class = "NSButtonCell"; title = "Reset"; ObjectID = "Emo-pg-Mfe"; */ +"Emo-pg-Mfe.title" = "Сбросить"; + +/* Class = "NSTextFieldCell"; title = "StatusLabel"; ObjectID = "M3h-q8-FLO"; */ +"M3h-q8-FLO.title" = "StatusLabel"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "pUG-4c-rTt"; */ +"pUG-4c-rTt.title" = "Text Cell"; + +/* Class = "NSTextFieldCell"; title = "MessageLabel"; ObjectID = "sHz-kg-YJQ"; */ +"sHz-kg-YJQ.title" = "MessageLabel"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "v3T-2f-yWm"; */ +"v3T-2f-yWm.title" = "Table View Cell"; + diff --git a/MacPass/ru.lproj/PickfieldView.strings b/MacPass/ru.lproj/PickfieldView.strings new file mode 100644 index 00000000..898cfce7 --- /dev/null +++ b/MacPass/ru.lproj/PickfieldView.strings @@ -0,0 +1,24 @@ +/* Class = "NSTableColumn"; headerCell.title = "Field"; ObjectID = "0H9-DW-Jyj"; */ +"0H9-DW-Jyj.headerCell.title" = "Field"; + +/* Class = "NSButtonCell"; title = "Select"; ObjectID = "6Wi-9i-Tcb"; */ +"6Wi-9i-Tcb.title" = "Выбрать"; + +/* Class = "NSTextFieldCell"; title = "Please pick a field value to be inserted"; ObjectID = "aJS-22-6Va"; */ +"aJS-22-6Va.title" = "Выберите занчение для вставки"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "e8U-mE-mZh"; */ +"e8U-mE-mZh.title" = "Table View Cell"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "fil-tT-GXX"; */ +"fil-tT-GXX.title" = "Text Cell"; + +/* Class = "NSTextFieldCell"; title = "Header View Cell"; ObjectID = "kTy-VO-Xlg"; */ +"kTy-VO-Xlg.title" = "Header View Cell"; + +/* Class = "NSTableColumn"; headerCell.title = "Value"; ObjectID = "rVo-ud-5fs"; */ +"rVo-ud-5fs.headerCell.title" = "Value"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "z1F-Bi-PBg"; */ +"z1F-Bi-PBg.title" = "Text Cell"; + diff --git a/MacPass/ru.lproj/PluginDataView.strings b/MacPass/ru.lproj/PluginDataView.strings new file mode 100644 index 00000000..a68bb4bb --- /dev/null +++ b/MacPass/ru.lproj/PluginDataView.strings @@ -0,0 +1,15 @@ +/* Class = "NSButtonCell"; title = "Remove All"; ObjectID = "6hH-Hc-gf4"; */ +"6hH-Hc-gf4.title" = "Удалить все"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "bG1-Sb-Xyp"; */ +"bG1-Sb-Xyp.title" = "Text Cell"; + +/* Class = "NSTextFieldCell"; placeholderString = "Title"; ObjectID = "MaV-TP-92X"; */ +"MaV-TP-92X.placeholderString" = "Заголовок"; + +/* Class = "NSTextFieldCell"; placeholderString = "Value"; ObjectID = "mLw-O5-6D3"; */ +"mLw-O5-6D3.placeholderString" = "Значение"; + +/* Class = "NSTextFieldCell"; title = "Plugin data"; ObjectID = "unO-bO-8v0"; */ +"unO-bO-8v0.title" = "Данные плагина"; + diff --git a/MacPass/ru.lproj/PluginPreferences.strings b/MacPass/ru.lproj/PluginPreferences.strings index 4a2983b9..c6260ea2 100644 --- a/MacPass/ru.lproj/PluginPreferences.strings +++ b/MacPass/ru.lproj/PluginPreferences.strings @@ -7,12 +7,18 @@ /* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "fug-79-n9g"; */ "fug-79-n9g.title" = "Табличная ячейка"; +/* Class = "NSTextFieldCell"; title = "If enabled, a remote connection is established to macpassapp.org"; ObjectID = "i3S-9b-Bpf"; */ +"i3S-9b-Bpf.title" = "Если включено, будет установлено подключение к macpassapp.org"; + /* Class = "NSButtonCell"; title = "Browse Available Plugins…"; ObjectID = "sqO-8H-n1y"; */ "sqO-8H-n1y.title" = "Обзор доступных плагинов"; /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "STt-PQ-Szr"; */ "STt-PQ-Szr.title" = "Текстовая Ячейка"; +/* Class = "NSButtonCell"; title = "Download current plugin information"; ObjectID = "uHR-uL-Ddm"; */ +"uHR-uL-Ddm.title" = "Скачивать информацию об обновлениях плагинов"; + /* Class = "NSBox"; title = "Box"; ObjectID = "vBs-Ga-aq0"; */ "vBs-Ga-aq0.title" = "Блок"; diff --git a/MacPass/ru.lproj/PluginRepositoryBrowserView.strings b/MacPass/ru.lproj/PluginRepositoryBrowserView.strings index b2ed3792..1bdfb8b4 100644 --- a/MacPass/ru.lproj/PluginRepositoryBrowserView.strings +++ b/MacPass/ru.lproj/PluginRepositoryBrowserView.strings @@ -1,9 +1,3 @@ -/* Class = "NSButtonCell"; title = "Refresh"; ObjectID = "NZw-nO-lZ3"; */ -"NZw-nO-lZ3.title" = "Обновить"; - -/* Class = "NSTableColumn"; headerCell.title = "Plugin"; ObjectID = "Nzo-rR-Hfx"; */ -"Nzo-rR-Hfx.headerCell.title" = "Плагин"; - /* Class = "NSTableColumn"; headerCell.title = "Status"; ObjectID = "g1Q-BS-vCR"; */ "g1Q-BS-vCR.headerCell.title" = "Статус"; @@ -15,3 +9,10 @@ /* Class = "NSTextFieldCell"; title = "Last updated:"; ObjectID = "ntD-sJ-NRw"; */ "ntD-sJ-NRw.title" = "Последнее обновление:"; + +/* Class = "NSTableColumn"; headerCell.title = "Plugin"; ObjectID = "Nzo-rR-Hfx"; */ +"Nzo-rR-Hfx.headerCell.title" = "Плагин"; + +/* Class = "NSButtonCell"; title = "Refresh"; ObjectID = "NZw-nO-lZ3"; */ +"NZw-nO-lZ3.title" = "Обновить"; + diff --git a/MacPass/ru.lproj/ReferenceBuilderView.strings b/MacPass/ru.lproj/ReferenceBuilderView.strings index 8ee931fb..4ecae769 100644 --- a/MacPass/ru.lproj/ReferenceBuilderView.strings +++ b/MacPass/ru.lproj/ReferenceBuilderView.strings @@ -1,15 +1,8 @@ - -/* Class = "NSMenuItem"; title = "Get"; ObjectID = "142-bE-IMZ"; */ -"142-bE-IMZ.title" = "Получить"; - /* Class = "NSTextFieldCell"; title = "Match"; ObjectID = "9ce-da-syF"; */ "9ce-da-syF.title" = "Соответствие"; -/* Class = "NSTextFieldCell"; title = "Key"; ObjectID = "K1t-OZ-ACe"; */ -"K1t-OZ-ACe.title" = "Ключ"; - -/* Class = "NSButtonCell"; title = "Use"; ObjectID = "Kqx-qm-nMG"; */ -"Kqx-qm-nMG.title" = "Использовать"; +/* Class = "NSMenuItem"; title = "Get"; ObjectID = "142-bE-IMZ"; */ +"142-bE-IMZ.title" = "Получить"; /* Class = "NSTextFieldCell"; placeholderString = "Reference"; ObjectID = "dr9-x8-kKk"; */ "dr9-x8-kKk.placeholderString" = "Ссылка"; @@ -20,8 +13,15 @@ /* Class = "NSTextFieldCell"; title = "Reference String"; ObjectID = "gik-Ha-hRd"; */ "gik-Ha-hRd.title" = "Ссылающаяся строка"; +/* Class = "NSTextFieldCell"; title = "Key"; ObjectID = "K1t-OZ-ACe"; */ +"K1t-OZ-ACe.title" = "Ключ"; + +/* Class = "NSButtonCell"; title = "Use"; ObjectID = "Kqx-qm-nMG"; */ +"Kqx-qm-nMG.title" = "Использовать"; + /* Class = "NSTextFieldCell"; title = "Reference"; ObjectID = "r1V-VE-ngy"; */ "r1V-VE-ngy.title" = "Ссылка"; /* Class = "NSMenuItem"; title = "Matching"; ObjectID = "yT1-XL-k6a"; */ "yT1-XL-k6a.title" = "Совпадение"; + diff --git a/MacPass/ru.lproj/WelcomeView.strings b/MacPass/ru.lproj/WelcomeView.strings index 6e46e81b..2c55b139 100644 --- a/MacPass/ru.lproj/WelcomeView.strings +++ b/MacPass/ru.lproj/WelcomeView.strings @@ -1,11 +1,9 @@ -/* Class = "NSTextFieldCell"; title = "Welcome to MacPass"; ObjectID = "24"; */ -"24.title" = "Добро пожаловать в MacPass"; +/* Class = "NSButtonCell"; title = "Open Database…"; ObjectID = "Jj3-zy-gaz"; */ +"Jj3-zy-gaz.title" = "Открыть базу..."; -/* Class = "NSButtonCell"; title = "Open Database…"; ObjectID = "44"; */ -"44.title" = "Открыть Базу данных…"; +/* Class = "NSButtonCell"; title = "Create new Database"; ObjectID = "Vxx-Ql-eI5"; */ +"Vxx-Ql-eI5.title" = "Создать новую базу"; -/* Class = "NSButtonCell"; title = "Create new Database"; ObjectID = "48"; */ -"48.title" = "Создать новую Базу данных"; +/* Class = "NSTextFieldCell"; title = "Welcome to MacPass"; ObjectID = "zdv-z8-khG"; */ +"zdv-z8-khG.title" = "Добро пожаловать в MacPass"; -/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "70"; */ -"70.title" = "Отмена"; diff --git a/MacPass/ru.lproj/WorkflowPreferences.strings b/MacPass/ru.lproj/WorkflowPreferences.strings index 87461a57..db3a4449 100644 --- a/MacPass/ru.lproj/WorkflowPreferences.strings +++ b/MacPass/ru.lproj/WorkflowPreferences.strings @@ -1,7 +1,9 @@ - /* Class = "NSBox"; title = "Entry Table"; ObjectID = "2"; */ "2.title" = "Таблица Записей"; +/* Class = "NSMenuItem"; title = "Default Browser"; ObjectID = "7YX-EA-9KA"; */ +"7YX-EA-9KA.title" = "Браузер по умолчанию"; + /* Class = "NSTextFieldCell"; title = "Double-click on URL:"; ObjectID = "10"; */ "10.title" = "Дабл-клик по URL:"; @@ -23,8 +25,11 @@ /* Class = "NSMenuItem"; title = "Opens Inspector"; ObjectID = "44"; */ "44.title" = "Открывает Инспектор"; -/* Class = "NSMenuItem"; title = "Default Browser"; ObjectID = "7YX-EA-9KA"; */ -"7YX-EA-9KA.title" = "Браузер по умолчанию"; +/* Class = "NSBox"; title = "Clipboard"; ObjectID = "Kff-Xp-hAT"; */ +"Kff-Xp-hAT.title" = "Буфер обмена"; + +/* Class = "NSButtonCell"; title = "Update password for new entries"; ObjectID = "RaM-t2-DVR"; */ +"RaM-t2-DVR.title" = "Обновить пароль для новых записей"; /* Class = "NSTextFieldCell"; title = "Open URLs in:"; ObjectID = "soD-wI-YOH"; */ "soD-wI-YOH.title" = "Открывать ссылки в:"; @@ -32,5 +37,5 @@ /* Class = "NSBox"; title = "Templates"; ObjectID = "Xvt-tP-TbR"; */ "Xvt-tP-TbR.title" = "Шаблоны"; -/* Class = "NSButtonCell"; title = "Update password for new entries"; ObjectID = "RaM-t2-DVR"; */ -"RaM-t2-DVR.title" = "Обновить пароль для новых записей"; +/* Class = "NSButtonCell"; title = "Hide application after copying to clipboard "; ObjectID = "1Vr-nY-Ogv"; */ +"1Vr-nY-Ogv.title" = "Скрывать MacPass после копирования в буфер обмена"; From 32c6bae7e4c2bf52ac7cd15d79da7ee185c0f79f Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 7 Aug 2019 15:09:17 +0200 Subject: [PATCH 05/17] Updated to Xcode 10.3 --- MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index e3598ee7..2fe0b176 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -1,6 +1,6 @@ Date: Fri, 9 Aug 2019 21:31:11 +0200 Subject: [PATCH 06/17] code style --- MacPass/MPAutotypeDaemon.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index ace24103..3f73ca1a 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -209,7 +209,8 @@ static MPAutotypeDaemon *_sharedInstance; NSPredicate *filterPredicate = [NSPredicate predicateWithBlock:^BOOL(id _Nonnull evaluatedObject, NSDictionary * _Nullable bindings) { MPDocument *document = evaluatedObject; - return !document.encrypted;}]; + return !document.encrypted; + }]; NSArray *unlockedDocuments = [documents filteredArrayUsingPredicate:filterPredicate]; /* We look for all unlocked documents, if all open documents are locked, we pop the front most and try to search again */ if(unlockedDocuments.count == 0) { From 2d3e81a5c12c6eee914fb30e5a1939cc753994ae Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 14 Aug 2019 12:08:18 +0200 Subject: [PATCH 07/17] Added double click action to select the group of the currently selected entry. This feature is mainly aimed to ease navigation when browsing search results --- MacPass/MPEntryViewController.m | 16 ++++++++++++++-- MacPass/MPOutlineViewController.h | 2 ++ MacPass/MPOutlineViewController.m | 16 ++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 6f0efab6..f074d6d6 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -752,11 +752,11 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; if(0 == [self.entryArrayController.arrangedObjects count]) { return; // No data available } - NSInteger columnIndex = [self.entryTable clickedColumn]; + NSInteger columnIndex = self.entryTable.clickedColumn; if(columnIndex < 0 || columnIndex >= self.entryTable.tableColumns.count) { return; // No Column to use } - NSTableColumn *column = self.entryTable.tableColumns[self.entryTable.clickedColumn]; + NSTableColumn *column = self.entryTable.tableColumns[columnIndex]; NSString *identifier = column.identifier; if([identifier isEqualToString:MPEntryTableTitleColumnIdentifier]) { [self _executeTitleColumnDoubleClick]; @@ -770,9 +770,21 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; else if([identifier isEqualToString:MPEntryTableURLColumnIdentifier]) { [self _executeURLColumnDoubleClick]; } + else if([identifier isEqualToString:MPEntryTableParentColumnIdentifier]) { + [self _executeGroupColumnDoubleClick]; + } // TODO: Add more actions for new columns } +- (void)_executeGroupColumnDoubleClick { + NSUInteger clickedRow = self.entryTable.clickedRow; + if(clickedRow < 0 || clickedRow > [self.entryArrayController.arrangedObjects count]) { + return; + } + KPKEntry *entry = self.entryArrayController.arrangedObjects[clickedRow]; + [((MPDocumentWindowController *)self.windowController).outlineViewController selectGroup:entry.parent]; +} + - (void)_executeTitleColumnDoubleClick { MPDoubleClickTitleAction action = [NSUserDefaults.standardUserDefaults integerForKey:kMPSettingsKeyDoubleClickTitleAction]; switch(action) { diff --git a/MacPass/MPOutlineViewController.h b/MacPass/MPOutlineViewController.h index bd64098b..7fd8492c 100644 --- a/MacPass/MPOutlineViewController.h +++ b/MacPass/MPOutlineViewController.h @@ -26,12 +26,14 @@ APPKIT_EXTERN NSString *const MPOutlineViewDidChangeGroupSelection; @class MPDocument; +@class KPKGroup; @interface MPOutlineViewController : MPViewController - (void)clearSelection; - (void)showOutline; - (void)registerNotificationsForDocument:(MPDocument *)document; +- (void)selectGroup:(KPKGroup *)group; /** * Retrieves the current item for the current mouse location diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 0c651275..3d492ca1 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -143,6 +143,22 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; } } +- (void)selectGroup:(KPKGroup *)group { + NSMutableArray *parents = [[NSMutableArray alloc] init]; + NSUUID *groupUUID = group.uuid; + while(group.parent) { + [parents insertObject:group.parent atIndex:0]; + group = group.parent; + } + NSTreeNode *node = [self.outlineView itemAtRow:0]; + for(KPKGroup *group in parents) { + NSUInteger row = [self _rowForUUID:group.uuid node:node]; + [self.outlineView expandItem:[self.outlineView itemAtRow:row]]; + } + NSUInteger rowToSelect = [self _rowForUUID:groupUUID node:node]; + [self.outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:rowToSelect] byExtendingSelection:NO]; +} + - (void)_expandItems:(NSTreeNode *)node { id nodeItem = node.representedObject; if([nodeItem isKindOfClass:KPKTree.class]) { From d4efba00ae0b13746ae7f56736e9cf7d9d1b650f Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 14 Aug 2019 13:25:47 +0200 Subject: [PATCH 08/17] Removed unused file --- MacPass/en.lproj/Localizable.strings.updated | Bin 54594 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 MacPass/en.lproj/Localizable.strings.updated diff --git a/MacPass/en.lproj/Localizable.strings.updated b/MacPass/en.lproj/Localizable.strings.updated deleted file mode 100644 index ed8a8aa9f5420962a8aff2c589d942efec0b5a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54594 zcmd^|U2h#na)!_K{tDWFk?dma&217a5L%>Ut|dw!Da+1{pf7tBTaqKn(KJe z=69Pc!^1{rg~ZVpqSmpU&*gJsWefIW2$h z*bE1oKil7Z%=FI&(eDf{XmDiEUK$=h8O*=h@828TZwt0iMZbX)cP}?z*tK(`5p)9| zDE6jMP}DiFaR&u=QR%r+?wP#->iuMQ^qyySl{uIJ8h>JUS~?vW_TSmNrg+DljK^m- zheHVzKiK@^Ss&Z%cZ}xa*<(cemahu-;*8OIzOuO=UajruO}#PgyY3n7UK_39MR;rU zzI%mB9u|&*pGNN-jcecg$lmwD_dM}OM4gG_O7hii_PDP zTp@K}{QZ?A9&G+`^AC0d7CKbTIY#T3vDW0@}#WGUyCk5 z>%22Aas30;(Y8N~^ZrQsu~$xt2{N1%Zp8qcC}@7ZsM_S1z?_{3-~`FU&_8r^%# zMqCtX^V8|(wvEYp_|RtC$9y+M8Kg@5b~98tFWh)kt@y4KiMjgJfD6J(39CMrFiJK@ z7U!Aq0kS4NAz4GKxu)o^B5QrTxqG#~tUk8-Tl-fMd1}1!sm&sbe4RNmzK3QjkppQH z*E+}moQ+mO^5AbQ^?%q%G>+s|mX)8UxWV7}6Aug{_#ItxTyQ!w8#~2gX?%vc)|&E) zY7ag%DaY(bR{|wSp`$@M5eim zXLZ+B?2cVIE%plR8TqhKf#;9QT1y9@8&2)1`=)U-b#D4iyU_Jb;dl9>nX0m^-y5~C zqpyv#3!(&bOfGGZr?qJKAu;VDU_u3`Q0 zZIRoNl+5w?)Osj}KP|Mz13WLb1-Fqi2P3SZQcf$Cgn0Yx7UOwErW%%u;YU^oer(c+03FyL)%Q zmE+O7;FPg&_-m+@M-#6&W}g_AJ#MIBlTXfSKOAbj`6n_)C&r`m8f)IJJEqc6)77dY zj^Movp(ymY#F>nET)b5{bIIOrKTF0vYi{t!mK1q@dnLof*P#QH4I##!Vq5d?(ppaO z2A?HsHji^V!&-d9bNDS;s2ZDEr;&ZzhdtW&JGQ6z$G19P81Ewa&rIk3Vo^3;!)Kd+ zv48t{>d1%Jw(GS?36e9`TfxmC%kmS}Td&6jw!RH(SI_d8P;zL$c zJMm~}8pr%%^dxJ`6KF#G1;tAvUH{OcMY6Zx0f!&iI^o?ap2z1}iV#GtPX=~wpYvy0 z-76UOA`#D4eH`kH_@U1|%hVXpm$5&z6~@=b#v>1Sg7VkNF#lrLh=Fsa_wVgKm7w<@ z#;G26x%s_Ss1C{>XsUd3&K6VML1X-2f0Q+@Ewsnza9se;=V&&3utx8$t>HSQtbEAl|GMDCiP*0N&4dqlA}SBTrmXyX5QMn3dV=80Wr$awYE%enuF;mN8|0f7&ml~ttP3Lk)*;tB34 z3)*6Lt7MO)8Nh)`>bb1~e$##P_>T(iQ=Ha5moa%%VwdLz3ALrnw~mkNJjFM!P0M{= zRtea#2V`pSr{3EfZ%ZCGFjS;Vm4)Z(`qiO%wXEfZ#WiHE(17=C{kV2!zY&oTb>6ir z=*LGzA2Q~V{l*$!*u6Rvu&)_2g|H38fmB>n7t{KZlOhj)V7OD;gLWRhOEXYE3VCi< zIq*i$e^u5LoTlqK9+}~UC$nE$>k8Eq82r7;7Z#6F&>$`;)=o65Q#4aKQ^Xt9sOqqU1wpNjy?_sdrs-l(V z)>8K~1gA!OxQHl`SlKniKN&p_ue3_g^LrbiI_&e!A8o`v`~8_olBAK`1wW~74Buj5 z=xO+&Xd$iMtAg{T{fjg+y1%yDtmar7tKvxA0$&mThJUHo^E*;-$9_i_kc;)JM8UP) zX{G$8-nhTDf$~)Kku7|L@EeFdk*TP0jOFBh$xNS_Y*6!mY;?gAN^3qW7Lgj>JgwHx z(ZilTmu>jc`3a830w7gH&dh<0k7z?N3BHnQ+p356W0c?9bK6o0-n%HijI1aYhIf8y zb9uh3<*Poe#xwOOwpNzarR5YtBB6l1zU$MAC~!T+To#p~8RNU2a%*SI6g)RhfKRYe z-m4;dMBYMjh2Fljamdko`&SZ$|AIw>rce{!duD%RB}bK|mIsvMzA!%oU4^%+njRQ^ zX@Bufkj1{%n$}luX8tkV=B&aTMMm~v%tbY&q?@*-*PJx&XZ~F&b!nUfU!l2Gb0Ma} z-<71|2g7+&i@F`f&W*qDe2KT@15?94GcCWnee6+g_xFq`sD85R$>`0~c~{K0mF4Tc zC(~J;p=`+--w@9cF9Y3&7Od-ntqvlV!gD6)M8C*<4AL8&VLdhpiEP5ubKK60{?6c< z_h@`XhT)b$pnecy5tqPzZK%GQXSr9Ty^i8!Nj!p@#zvy{Pem(WkI)k2h`g&Ju$QNu zGaYj=*EIi{Gvd=I3GeW*tZL}g^-p9f)YUzY58f0{?dO7>VnWqQd)WXY5wB#&TF@h| z`tsxA(UJ!}Oa535t#@@XVhK9Ww*@_yphAn2c_P>5Il1#I%`SbWUQ4h?|BDLOdr#)e zObd^X9$o2uWj-!S{s&*b_V8;et$Q}p?|+ZS@$-pLi2{DGpOGB8UHcr8vtW0OPta2j zhTJk5oiT6unoNz>x|VVEQ|78PSrA6%PR7hZ5!KWq71Iy_`J5To`-T(wja(hAd-Zxb zFV=s%Co>Ih6+F}xJTrDrm{#3kecwVJGZ+qFy7;?X{tG%{z;jmH(A z06RK_irh=%cslOEN^uIYPOdwPCUoiR2~j|neTsefh~!w%sC3!0R=I~cFrOcvvA%7v z!u3EIwg@{YY^kCHJNAwpL%n>Xv@o_X;~ZGrH;JYv89yXMUS!($P4(7(jG&&5%W&?K z>Ql?z=a&{D#ZK$iVBNDfg(1GWTb@2{q4&4JYU!zr5Bs?88fWjDpEU1?i~MeeWS_j_ zSoNu@yW3E7?um@UL(_!h0zyyjpRU-ov#yVywF_CRdR&HcpS1Q`Qs6wIdJWNb^k4IA z#*q5+)2nf)XIFa|m&aS~>er$$$yei~4pIY^G8bjVZ zKD|9bvcz+k<)<=^{dECztxLV5iM)q=57uS62K8>Y@Emg9AYh#vongGrI?TcEJUI3K zw!th@*7NXdaLmtTZ0mhlA;pnvpYG0bt@g^+jee=;A7bZvwrt_NtKiwyTDu=To!$3- zJvU9tt_P%5*?g|RDLr10-(TI8TAGR(eW&Yi)J>`)_bpxVQ9{elv~ z_eRSDo&lWtr|J}J`Ps8d7sk2$y~r*Ry^fkGXSF_S>tliQbWFx_pKCRx!ZO5bt!9fw z|GAsOEbDWLoT_?-;PKDotVozhcx`YSx8<=p5D z`!;l(`mueAZX?grIeVDbzHNV9+A$f+eXh_h5U*dg8jJpOHDcA*O~Kxj-l^>YU^UzZy)#bP4CP>^JVb@>8gfiq2cI`y=_!d z=jdb0fKn}ZbQKB53NMYDd$-nG``8?Jx?$;|y=C-rUj5u4>BTPXyGJoezt45Ir|0nb zCV8@@28h>3_ zd-bsv*6_)DwcmB4Gn}pT*InG%FLI6vitA*Z==mnPx-{)w_YaO`cDdKP#b^9P#;NBC z)YZOLb9w*7`iee#tf*kAR^V|0(TsLq#feUSFDjw#RrKIg1X9mFiZa$d?+~Cvy`m}U zkd38dj(QbUAEI8yYzyP~9ko5AuZ8Nm&p(coY8p(fJiI||56f8V`?#99;^+!{tr-0) ztO)tRtQY**{<$*wo%M+Eo9+|~R#(02c|xZ9c#I?QW6Ki$YezIgo z<_U3nM$Mn@E%xtjN5dA{Z8K3ly7Vj!nu1KR(moWGsdz4*`=G~so*nMpf{rVwV zkNv-@RKGOHvpzX1*-?6VfmQjnlhT37NzC8bny|+$$I<8$GOBBy$#5N8Bm|c$9zqw8 zkz)ni!y;Oc9wqY1od?r1l39_A5q?9Qw;F3PhBcp;n&o`$6WikEk{vt5ydQkDD{*N@ zSzd|j?zh{=T>GNP_4j~HvFYv4loYD|L_Y>y(sYc+4!k~Jh}OH#n5oou^rF|{dRiU#o%6A8w~xiTCwGOG6A84-!Sjaf!Uexpa(BgQH;uIh>*bjdSj>U!6E^d_CXqQG0k$0x#(8l_q1anzV#gJ?m-Cq?L_VOs^eZ_17bgug(X+qEAO< zm~R(7>~E3xOy@hht@$7Q>wc?pR}m>kz7=~&uRl-dyBR0;WSlg{YWL0>bKB_}G2Rfo z@U2r~;$FO6JC{uYUQ4K23pNg;~{HSQFT6}n&cx9w2j#>Ee3OA(FEX&rNmlFeockii^=8SGtM_`Lnd)4XuQRz5{~}1{ z9oOvAB~GPJK2&q|$%90a4g)%-kvxb@VG)5pTL?)G$EgMHHIp~*5F=~_Hf zC0FxuS1tCLbBDASEmJE$%}TpwTaUALBCx-lEGF7)7s~Z!$rQx?WD7dY%JgErh%}s9 z&cAs_Oy0#DHQct+^Taep&VILNy!9!D-}zI*-otdYTbRV`s zzQR1c#BW$fzPWR=6l+fa!_x3glO=8&t-yG`Oub{18INt@CRNJSmF84Jr_#kvej7WB ze~jgLf2C`uXG2Y;jNCsN0xCTor}i-GkIN9>DJzE_m0dfx-|I8%?%EyyI+R1g`R{y_ z2^+4H$EQ0TbDn1H_!=@Osj4`Bb(~w7D}e#gbT4?$z~`C2DiH`4O4WU4@1KwvZ<@=u z%hvJl(g~e#gnGi3-Ymu9&_(}jeT-7M;t?;jQ zd1tPB=8W;awhWU~pL0VV6e#e|^>pxK|89oq!r<^COmxrTGy6B+uy z823t(NRI>rf3dZIKeSWgQF_z#PM-0$;RddX0_lC?L`dzFBin{vi?dzCt3O)C;%Ui@ zwp|X{Q&49pc~I(>`j!E^bBP7uo19@>Gd4rL)_1LabzkS!w}HQ8rShqKZsBrVH}%Yk zQISk4^2#QKJ&)Di_PJefB_46h6JFpv76I!N4}Dd!UM2rh-@4~A7Dt7~>XA`K2tLLV z5lQ>X^mDpFy?zFFbbtJQAb}1`JJubD4pOd7#zqBAuNg3 zR}$u5eM6h7(~#&At&8T!a@eyyt!L(6s8i*rK9?G;8qfqmA zpH{veBM7q$?26@@Io4y>$3v^hsbubhxQ_kSe2BZY-maTM7FwJ&a$79tpK9^i{S0wybig(kMIXAPe1ekH~tZD29uHn#E)uO&x!!o^_;X%u2WqNTb@f7)2I8Sjy?q~K0 z-2FT5`6)uO@b23&OJMlQ=JFabD}$Ya?yt(*n1O5gOH5=VvW@cp1RPdc9HQch%_?%wh4r}2mk z(}?GM-69rQ+Rw2Zv*o=Y8TZ`p>$8ll>Re>xIQRIycP~?-e>#F&jj7~$zpJ zU88^|_X84n)L%}m>nl@u*F2puy6)Pp>jadI8L#bhmgTjLXQmvV^9(Jo=X;qFbaA^XbAL1`3w`9;M-^i2o_7zLEVx(VGMtg#%-5(0v zZV9MrV*AkwxyPoDPmcb_BQor##U9~5OTy_qq92(KZ}NDd%VRZw2Ac>5@=F-)n(aZ+ z6w`UYQk}A{d;9Z%J^qeUCwl|R(ZmWflJR4E2^G*Z;TOb}OoyW~lW6ek6|H+7iey7_ zB4~&~6ya%4cOK#13qF;fU*~ih^Ev#ol>5tXsXewee&DISf%SlP_0!?+Ih=Vc64;(& z7km+Rf!LiIdrft}mg#=K#Hn?zMe-t_%=?;DH;gZ7APab9uHz&#cvSWGO6xCC>$m*= z=%$xeA%?8=-V?(ZS|JN$uJBUuMu{lN@*o3Vg4!vl#-&e%HCYF@ z^Gn#TnQMEj`}j%cZI{Uy!CzNM<}(#bwAf~@OpDq#@5zkp%JjQLo}&vosiss{GP90# zj%dGGlVy86CPO{8$pMYax>vPgUzgvJ&lV?KELHDg9ot&h^iGEM+%ysvk6m&HR_VtI zO;4`KdGyh#6?0?q8(A}X4BnT>o7JO6ya?u4X7#k8FX_F;W@0~cSB$<0@W3(<)RXcF z48f7y>y5||jaO`q7d1U$s`iG~_)=}R?XpKTePW$o)pnT%e^2jZ8nJgUPE808FMNCF zT-8e$`?*xN zT@(R1H%%!?M*tk9+IL-XUx$tI3)iR0c%Dp!Q7r50KgKlTVz*~cEYium(^ALdt}O53qlqF)G{iLaTw1G^KbVF1L0O+3^<%Y^`)J2p2bzz;If~Y|=N)CKTK-zgHKV6@ z;g_W~T9#;+%{-I*p>{RHdu=hVr2?CP=Zd}DUAC5H$6VrO&Mb?#XNGP-Er!tT=e_gtj)YF6Q z!sAv(i2hwVHP{1nJ3%~XS;hUjY`f5NF3bcf<&+O6>^TY8V5 z$++GskdgT#7f6oUS6Fi1hqTWN-~hFP8*!_f*Dru7k7AWke;-vlMh*6FHIH^0jjgAVQ~l zLFWB(^GUUu?Bc#-vP~a$9jBuak#O($6wdmZHQ7Je4D174%T%ezz1NY#P0W5X6hkJU z9JzG(o$nK9FLPZ1tFv?S6oVpungQnlX!kjkYiXHfWj)QdnSVE`Nry%avBzzq4}OX| zOF~nu$K>2BkR+<5jC2OFRPWs1W*yego~hJ}+}Y1uOPbpk;-|s>v7g#o|7?Fht*+)BaAgVwH5zCX$?mvP*)>ueeS=n3;2Z>yc~(INu$ zb4$xf7+wH1Z`+9JSJ)HI{%VA<$xwrdma4KCo<%{n7r04 zs!vhhgzJD&J0M0{L^UAvMZ0sdrtoxJhAZ|wll!ALOwm2PQBgY(*L!DS&h$`415Tng zVD`>W-^Zk)~lN1z}4JXv+M=I^r_AV-9R~q)X>DXr$sFMj`!p$HPr zJDxs%V0~^w?kbt$wdR?O^H`J7qm8D;`YHn0PKSAI{rtl`uHX6^DEBi(Ha?)hf6)%` ze=D?APPv6K-r>|F@Q|iM4O#tos@so`UWIUkGcy+I^0i*8^iI~V*mcxsSek4 zM22(!^i>`_x^JOBQN<{U;m2*|TAx1K+vbjq{^w z%7mp;N4Iy*;2ZFzllnZ742inPu>_e<^40O1i1b`VruOGD5D@RHAZt?xMwNLMYSKe8HHuP?Q_A3-MM0xiZcGtTA^gW6`-5C|ajX!L&F z%WvIZr*BPv@9aOi9+ypzet7f}`78DiIxT8E zl>@>yg9kgN+A5SRr8+}m7Jmm?k!~4v$G3VfV^yE_-e$C;n;vaQyvu20qxiO^*godY z^zG#{eC;#+rqrrC5dN>OOHKd0+o#rI*Ioa)_vH0L4`g|8UiUR44;Z~X;%Mh!Whuh9 z^JkHLKXWu|?ZCH6tp_J<;OxaZbO;*)Gw*yXRC3$=oh)c#an8bjxQ2 zP`$sHX!VwcbI)bE+$x>`U3~Nc@@)orfxYzwa{LA7fsBdkcf2+_z3Q*t1~1gv2<4>k zoOM=m&W*#V=z8)HX#83u#k$vd2_nLLI&#f7`W|TfqsnOotIA4 zLyOyxC%!vKZREgkC%)iXZ4te9W!gask4#VUi++@)Co+zGkAVKs=+AN3+gQEcA(8n- zobMj-uOIf)Ul^9-(+uIgyj#3|pQ;m{ea_y4)2hxAWbPP^$h44m>hlYSsF6fGo}+YD z9)E!dz%$rn?eKG$!7~73I@dV2I695PM`Ly}#;?qiaCr_&Lqqp0{oNM^i^uWx(}78E zEP0&e9r8IV<#p(MEmOGmAi=!dq0TjWW>uZZ`_IV*vG-h6@tg;q-pTL0u-WE#Zn+oS zH8}6#i!@)F*3$kE?ANZn-usy?V|vf z@t|0Vyzkbf`H|5Bs;IX_db3wU#u`lPHg4IkH%q4XiOE>DWL`_ZFnn|>SM5d1lMnx$ zZY|}+rNzS9^gNapZuN;1u@aRlPZ^$)b{1e+7@^2^?wg`FGkc~Mx-#c_h{o%)%Ul%ZPKfqg{?7MqIS}jG0Ei1&-=}Q+HPm+IF@~jho<@ zeaPGhr}ccYW`<0O{dsGBIgh$78e>VPPEVxV@2tOl%%K1~3+eGArqiySuy*^T$LL*| zO4;}IJh*Gq_rmzRopcGpyg)+liRb X@c8q&3qiF)WtH*7a~7a?PxJl{kq-U? From 6b13ab37b8004ff39f7b87b7246381d7644e23b0 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 14 Aug 2019 13:25:55 +0200 Subject: [PATCH 09/17] Updated localizations --- MacPass/en.lproj/Localizable.strings | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index d4a0f6db..4a6db4cb 100644 --- a/MacPass/en.lproj/Localizable.strings +++ b/MacPass/en.lproj/Localizable.strings @@ -49,18 +49,6 @@ /* Disallow the download of the plugin repository file */ "ALERT_ASK_FOR_PLUGIN_REPOSITORY_DISALLOW_DOWNLOAD" = "Do not update defintions"; -/* Button in dialog to leave autotype disabled and continiue! */ -"ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_BUTTON_OK" = "Keep Autotype disabled."; - -/* Button in dialog to open accessibilty preferences pane! */ -"ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_BUTTON_OPEN_PREFERENCES" = "Open Accessibilty Preferences…"; - -/* Alert informative text displayed when Autotype performs self check and lacks accessibilty permissions */ -"ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_INFORMATIVE_TEXT" = "The system prevents MacPass from sending key strokes to other Applications. To enable Autotype please grant MacPass Accessibilty rights in the privacy preferences."; - -/* Alert message displayed when Autotype performs self check and lacks accessibilty permissions */ -"ALERT_AUTOTYPE_MISSING_ACCESSIBILTY_PERMISSIONS_MESSAGE_TEXT" = "MacPass cannot perform Autotype"; - /* Button in dialog to leave plugin ds disabled and continiue! */ "ALERT_INCOMPATIBLE_PLUGINS_ENCOUNTERED_BUTTON_OK" = "OK"; @@ -696,6 +684,9 @@ /* Action button in Notification to show the Autotype Doctor */ "SHOW_AUTOTYPE_DOCTOR" = "Show Autotype Doctor"; +/* Menu item to show the entries group in the outline view */ +"SHOW_GROUP_IN_OUTLINE" = "Show Group in Outline"; + /* Menu item to show the history of the selected entry Toolbar item to toggle history display */ "SHOW_HISTORY" = "Show History"; From 9c177afdb0aec6b753086f341fcf4475d536e8fe Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 14 Aug 2019 13:26:33 +0200 Subject: [PATCH 10/17] Added show group in outline to context menus --- MacPass/MPActionHelper.h | 1 + MacPass/MPActionHelper.m | 1 + MacPass/MPAppDelegate.m | 2 +- MacPass/MPContextMenuHelper.h | 21 +++++++++++---------- MacPass/MPContextMenuHelper.m | 9 ++++++++- MacPass/MPDocument.m | 3 +++ MacPass/MPDocumentWindowController.h | 4 ++-- MacPass/MPDocumentWindowController.m | 8 ++++++++ MacPass/MPEntryContextMenuDelegate.h | 2 +- MacPass/MPEntryViewController.m | 10 +++------- MacPass/MPOutlineViewController.m | 1 + MacPass/MPToolbarDelegate.m | 2 +- 12 files changed, 41 insertions(+), 23 deletions(-) diff --git a/MacPass/MPActionHelper.h b/MacPass/MPActionHelper.h index 7c2c984e..2d35e7df 100644 --- a/MacPass/MPActionHelper.h +++ b/MacPass/MPActionHelper.h @@ -47,6 +47,7 @@ typedef NS_ENUM(NSUInteger, MPActionType) { MPActionToggleQuicklook, MPActionShowEntryHistory, // show history MPActionHideEntryHistory, // exit history + MPActionShowGroupInOutline, // show the group (of the entry) in the outline view MPActionPerformAutotypeForSelectedEntry, // Perform Autotype for selected Entry MPActionRemoveAttachment // Remove an attachment }; diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index f539b243..dca564ec 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -57,6 +57,7 @@ @(MPActionToggleQuicklook): NSStringFromSelector(@selector(toggleQuicklookPreview:)), @(MPActionShowEntryHistory): NSStringFromSelector(@selector(showEntryHistory:)), @(MPActionHideEntryHistory): NSStringFromSelector(@selector(hideEntryHistory:)), + @(MPActionShowGroupInOutline): NSStringFromSelector(@selector(showGroupInOutline:)), @(MPActionPerformAutotypeForSelectedEntry): NSStringFromSelector(@selector(performAutotypeForEntry:)), @(MPActionRemoveAttachment): NSStringFromSelector(@selector(removeAttachment:)) }; diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 8d6c0c56..ae683871 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -158,7 +158,7 @@ typedef NS_OPTIONS(NSInteger, MPAppStartupState) { [fileMenu insertItem:item atIndex:insertIndex]; } [self.itemMenu removeAllItems]; - for(NSMenuItem *item in [MPContextMenuHelper contextMenuItemsWithItems:MPContextMenuFull]) { + for(NSMenuItem *item in [MPContextMenuHelper contextMenuItemsWithItems:MPContextMenuFull|MPContextMenuShowGroupInOutline]) { [self.itemMenu addItem:item]; } self.itemMenu.delegate = self.itemActionMenuDelegate; diff --git a/MacPass/MPContextMenuHelper.h b/MacPass/MPContextMenuHelper.h index ae083579..a6072221 100644 --- a/MacPass/MPContextMenuHelper.h +++ b/MacPass/MPContextMenuHelper.h @@ -23,16 +23,17 @@ #import typedef NS_OPTIONS(NSUInteger, MPContextMenuItemsFlags) { - MPContextMenuCreate = 1 << 0, - MPContextMenuDelete = 1 << 1, - MPContextMenuCopy = 1 << 2, - MPContextMenuTrash = 1 << 3, - MPContextMenuDuplicate = 1 << 4, - MPContextMenuAutotype = 1 << 5, - MPContextMenuHistory = 1 << 6, - MPContextMenuMinimal = MPContextMenuCreate | MPContextMenuDelete, - MPContextMenuFull = MPContextMenuMinimal | MPContextMenuCopy | MPContextMenuDuplicate | MPContextMenuAutotype | MPContextMenuHistory, - MPContextMenuExtended = MPContextMenuFull | MPContextMenuTrash + MPContextMenuCreate = 1 << 0, + MPContextMenuDelete = 1 << 1, + MPContextMenuCopy = 1 << 2, + MPContextMenuTrash = 1 << 3, + MPContextMenuDuplicate = 1 << 4, + MPContextMenuAutotype = 1 << 5, + MPContextMenuHistory = 1 << 6, + MPContextMenuShowGroupInOutline = 1 << 7, + MPContextMenuMinimal = MPContextMenuCreate | MPContextMenuDelete, + MPContextMenuFull = MPContextMenuMinimal | MPContextMenuCopy | MPContextMenuDuplicate | MPContextMenuAutotype | MPContextMenuHistory, + MPContextMenuExtended = MPContextMenuFull | MPContextMenuTrash }; @interface MPContextMenuHelper : NSTableCellView diff --git a/MacPass/MPContextMenuHelper.m b/MacPass/MPContextMenuHelper.m index 3691ffa4..058cbb60 100644 --- a/MacPass/MPContextMenuHelper.m +++ b/MacPass/MPContextMenuHelper.m @@ -42,6 +42,7 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { BOOL const insertDuplicate = MPIsFlagSetInOptions(MPContextMenuDuplicate, flags); BOOL const insertAutotype = MPIsFlagSetInOptions(MPContextMenuAutotype, flags); BOOL const insertHistory = MPIsFlagSetInOptions(MPContextMenuHistory, flags); + BOOL const insertShowGroupInOutline = MPIsFlagSetInOptions(MPContextMenuShowGroupInOutline, flags); NSMutableArray *items = [NSMutableArray arrayWithCapacity:10]; if(insertCreate) { @@ -113,7 +114,7 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { [items addObjectsFromArray:@[ copyUsername, copyPassword, urlItem]]; } - if(insertAutotype || insertHistory) { + if(insertAutotype || insertHistory || insertShowGroupInOutline) { MPContextmenuHelperBeginSection(items); if(insertAutotype) { NSMenuItem *performAutotype = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"PERFORM_AUTOTYPE_FOR_ENTRY", @"Menu item to perform autotype with the selected entry") @@ -128,6 +129,12 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { showHistory.keyEquivalentModifierMask = (showHistory.keyEquivalentModifierMask | NSCommandKeyMask | NSControlKeyMask); [items addObject:showHistory]; } + if(insertShowGroupInOutline) { + NSMenuItem *showGroupInOutline = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SHOW_GROUP_IN_OUTLINE", @"Menu item to show the entries group in the outline view") + action:[MPActionHelper actionOfType:MPActionShowGroupInOutline] + keyEquivalent:@""]; + [items addObject:showGroupInOutline]; + } } return items; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 1feab801..42f490db 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -914,6 +914,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou case MPActionCopyCustomAttribute: case MPActionCopyAsReference: valid &= (nil != targetEntry); + case MPActionShowGroupInOutline: + valid &= (nil != targetEntry); + valid &= self.hasSearch; break; default: break; diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index e02521b4..2b51042c 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -66,11 +66,11 @@ - (IBAction)delete:(id)sender; - (IBAction)duplicateEntryWithOptions:(id)sender; - - (IBAction)pickExpiryDate:(id)sender; - - (IBAction)performAutotypeForEntry:(id)sender; +- (IBAction)showGroupInOutline:(id)sender; + /* actions relayed to MPEntryViewController */ - (IBAction)copyUsername:(id)sender; - (IBAction)copyPassword:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index ece7e22f..87f9fd67 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -545,6 +545,14 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [contentView layoutSubtreeIfNeeded]; } +- (void)showGroupInOutline:(id)sender { + NSArray *targetEntries = self.entryViewController.currentTargetEntries; + if(targetEntries.count != 1) { + return; + } + [self.outlineViewController selectGroup:targetEntries.lastObject.parent]; +} + #pragma mark - #pragma mark Actions forwarded to MPEntryViewController - (void)copyUsername:(id)sender { diff --git a/MacPass/MPEntryContextMenuDelegate.h b/MacPass/MPEntryContextMenuDelegate.h index bd7add5f..72600915 100644 --- a/MacPass/MPEntryContextMenuDelegate.h +++ b/MacPass/MPEntryContextMenuDelegate.h @@ -23,7 +23,7 @@ #import /** - Delegate is used for context menus that are show in the entries table + Delegate is used for context menus that are show in the entries table as well as the items menu in the main menu */ @interface MPEntryContextMenuDelegate : NSObject diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index f074d6d6..d072d8c5 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -602,7 +602,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (void)_setupEntryMenu { NSMenu *menu = [[NSMenu alloc] init]; - NSArray *items = [MPContextMenuHelper contextMenuItemsWithItems:MPContextMenuFull]; + NSArray *items = [MPContextMenuHelper contextMenuItemsWithItems:MPContextMenuFull|MPContextMenuShowGroupInOutline]; for(NSMenuItem *item in items) { [menu addItem:item]; } @@ -777,12 +777,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (void)_executeGroupColumnDoubleClick { - NSUInteger clickedRow = self.entryTable.clickedRow; - if(clickedRow < 0 || clickedRow > [self.entryArrayController.arrangedObjects count]) { - return; - } - KPKEntry *entry = self.entryArrayController.arrangedObjects[clickedRow]; - [((MPDocumentWindowController *)self.windowController).outlineViewController selectGroup:entry.parent]; + id target = [NSApp targetForAction:@selector(showGroupInOutline:)]; + [target showGroupInOutline:self]; } - (void)_executeTitleColumnDoubleClick { diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 3d492ca1..6ca32135 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -157,6 +157,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; } NSUInteger rowToSelect = [self _rowForUUID:groupUUID node:node]; [self.outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:rowToSelect] byExtendingSelection:NO]; + [self.outlineView scrollRowToVisible:rowToSelect]; } - (void)_expandItems:(NSTreeNode *)node { diff --git a/MacPass/MPToolbarDelegate.m b/MacPass/MPToolbarDelegate.m index 22852525..098ef5b0 100644 --- a/MacPass/MPToolbarDelegate.m +++ b/MacPass/MPToolbarDelegate.m @@ -128,7 +128,7 @@ NSString *const MPToolbarItemAutotype = @"TOOLBAR_AUTOTYPE"; NSMenuItem *actionImageItem = [[NSMenuItem alloc] initWithTitle:@"" action:NULL keyEquivalent:@""]; actionImageItem.image = self.toolbarImages[MPToolbarItemAction]; [menu addItem:actionImageItem]; - NSArray *menuItems = [MPContextMenuHelper contextMenuItemsWithItems:MPContextMenuExtended]; + NSArray *menuItems = [MPContextMenuHelper contextMenuItemsWithItems:MPContextMenuExtended|MPContextMenuShowGroupInOutline]; for(NSMenuItem *item in menuItems) { [menu addItem:item]; } From 9b2f8e5f6f4992b7767d2aecc2716d23d297001b Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Fri, 16 Aug 2019 14:57:32 +0200 Subject: [PATCH 11/17] Using property --- MacPass/KPKEntry+MPCustomAttributeProperties.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/KPKEntry+MPCustomAttributeProperties.m b/MacPass/KPKEntry+MPCustomAttributeProperties.m index 8e2eb37e..fabc6d6b 100644 --- a/MacPass/KPKEntry+MPCustomAttributeProperties.m +++ b/MacPass/KPKEntry+MPCustomAttributeProperties.m @@ -36,7 +36,7 @@ static id propertyIMP(id self, SEL _cmd) { + (BOOL)resolveInstanceMethod:(SEL)aSEL { if ([NSStringFromSelector(aSEL) hasPrefix:MPCustomAttributePropertyPrefix]) { - class_addMethod([self class], aSEL,(IMP)propertyIMP, "@@:"); + class_addMethod(self.class, aSEL,(IMP)propertyIMP, "@@:"); return YES; } return [super resolveInstanceMethod:aSEL]; From cbc74ccca647f66b46c9b7a81fa9ec7126930222 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Fri, 16 Aug 2019 14:57:41 +0200 Subject: [PATCH 12/17] Split test into valid and invalid attributes --- MacPassTests/MPTestCustomAttributeGetter.m | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/MacPassTests/MPTestCustomAttributeGetter.m b/MacPassTests/MPTestCustomAttributeGetter.m index 4ccf20b4..1d938d47 100644 --- a/MacPassTests/MPTestCustomAttributeGetter.m +++ b/MacPassTests/MPTestCustomAttributeGetter.m @@ -37,15 +37,21 @@ NSString *(*func2)(id, SEL, NSString*) = (void *)imp2; NSString *value2 = func2(entry, selector2, attribute2.key); XCTAssertEqualObjects(value2, attribute2.value); - - SEL selector3 = NSSelectorFromString([MPCustomAttributePropertyPrefix stringByAppendingString:@"novalidkey"]); - IMP imp3 = [entry methodForSelector:selector3]; - NSString *(*func3)(id, SEL, NSString*) = (void *)imp3; - NSString *value3 = func3(entry, selector3, @"novalidkey"); - XCTAssertNil(value3); } - (void)testInvalidCustomAttribute { + KPKEntry *entry = [[KPKEntry alloc] init]; + KPKAttribute *attribute1 = [[KPKAttribute alloc] initWithKey:@"custom1" value:@"value1"]; + KPKAttribute *attribute2 = [[KPKAttribute alloc] initWithKey:@"custom2" value:@"value2"]; + [entry addCustomAttribute:attribute1]; + [entry addCustomAttribute:attribute2]; + + SEL selector = NSSelectorFromString([MPCustomAttributePropertyPrefix stringByAppendingString:@"novalidkey"]); + IMP imp = [entry methodForSelector:selector]; + NSString *(*func)(id, SEL, NSString*) = (void *)imp; + NSString *value = func(entry, selector, @"novalidkey"); + XCTAssertNil(value); + } From 6b94cbd81bc87c4a4e0520f558ed99fcd781ebd0 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Fri, 16 Aug 2019 15:38:01 +0200 Subject: [PATCH 13/17] added prefix to prevent name clash --- MacPass/KPKEntry+MPCustomAttributeProperties.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/KPKEntry+MPCustomAttributeProperties.m b/MacPass/KPKEntry+MPCustomAttributeProperties.m index fabc6d6b..5ec7f4fe 100644 --- a/MacPass/KPKEntry+MPCustomAttributeProperties.m +++ b/MacPass/KPKEntry+MPCustomAttributeProperties.m @@ -23,7 +23,7 @@ #import "KPKEntry+MPCustomAttributeProperties.h" #import -NSString *const MPCustomAttributePropertyPrefix = @"valueForCustomAttribute"; +NSString *const MPCustomAttributePropertyPrefix = @"mp_valueForCustomAttribute"; @implementation KPKEntry (MPCustomAttributeProperties) From 245a58d81b0aa64dab4b00d8726d3cd09966d738 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Fri, 16 Aug 2019 16:52:13 +0200 Subject: [PATCH 14/17] Fixed missing break in action validation resulting in copy as reference and copy custom attributes note working in search mode --- MacPass/MPDocument.m | 1 + 1 file changed, 1 insertion(+) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 42f490db..d6a54948 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -914,6 +914,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou case MPActionCopyCustomAttribute: case MPActionCopyAsReference: valid &= (nil != targetEntry); + break; case MPActionShowGroupInOutline: valid &= (nil != targetEntry); valid &= self.hasSearch; From e31c7c6cd71a20482b43e1e8d63dadcca6191971 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Mon, 19 Aug 2019 14:20:27 +0200 Subject: [PATCH 15/17] Updated translations --- .../en.lproj/AutotypeDoctorReportViewController.strings | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MacPass/en.lproj/AutotypeDoctorReportViewController.strings b/MacPass/en.lproj/AutotypeDoctorReportViewController.strings index e8f267e0..b5a81f3d 100644 --- a/MacPass/en.lproj/AutotypeDoctorReportViewController.strings +++ b/MacPass/en.lproj/AutotypeDoctorReportViewController.strings @@ -2,8 +2,8 @@ /* Class = "NSTextFieldCell"; title = "MacPass will send key press events to the system when Autotype or Global Autotype is executed. Since macOS 10.14 Mojave this is only possible, if Accessibility permissions are granted to the application."; ObjectID = "6GI-KJ-Xue"; */ "6GI-KJ-Xue.title" = "MacPass will send key press events to the system when Autotype or Global Autotype is executed. Since macOS 10.14 Mojave this is only possible, if Accessibility permissions are granted to the application."; -/* Class = "NSTextFieldCell"; title = "MacPass will read every window title when Global Autotype is executed to find a match. Since macOS 10.15 Catalina it is not possible to read any window title, if the user has not granted permissions to record the screen. If you are running macOS 10.15 or higher, MacPass will try to capture the left top most pixel on your screen to initate a request to record the screen. This pixel will not be stored and processed in any way."; ObjectID = "7of-1z-Nfk"; */ -"7of-1z-Nfk.title" = "MacPass will read every window title when Global Autotype is executed to find a match. Since macOS 10.15 Catalina it is not possible to read any window title, if the user has not granted permissions to record the screen. If you are running macOS 10.15 or higher, MacPass will try to capture the left top most pixel on your screen to initate a request to record the screen. This pixel will not be stored and processed in any way."; +/* Class = "NSTextFieldCell"; title = "MacPass will read every window title when Global Autotype is executed to find a match. Since macOS 10.15 Catalina it is not possible to read any window title, if the user has not granted permissions to record the screen. If you are running macOS 10.15 or higher, MacPass will check if it can read every window title of currently visible windows. This test will not read the actual title. The titles aren't stored or processed in any way."; ObjectID = "7of-1z-Nfk"; */ +"7of-1z-Nfk.title" = "MacPass will read every window title when Global Autotype is executed to find a match. Since macOS 10.15 Catalina it is not possible to read any window title, if the user has not granted permissions to record the screen. If you are running macOS 10.15 or higher, MacPass will check if it can read every window title of currently visible windows. This test will not read the actual title. The titles aren't stored or processed in any way."; /* Class = "NSButtonCell"; title = "Open Accessibilty Preferences…"; ObjectID = "8m1-vs-pd5"; */ "8m1-vs-pd5.title" = "Open Accessibilty Preferences…"; @@ -14,5 +14,5 @@ /* Class = "NSTextFieldCell"; title = "Accessibility"; ObjectID = "aIL-8W-63g"; */ "aIL-8W-63g.title" = "Accessibility"; -/* Class = "NSButtonCell"; title = "Open Screen Sharing Preferences…"; ObjectID = "lgB-Ys-L9R"; */ -"lgB-Ys-L9R.title" = "Open Screen Sharing Preferences…"; +/* Class = "NSButtonCell"; title = "Open Screen Recording Preferences…"; ObjectID = "lgB-Ys-L9R"; */ +"lgB-Ys-L9R.title" = "Open Screen Recording Preferences…"; From 7fc1dd8a1b3716b1af03a90507080b9b7eb23500 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Mon, 19 Aug 2019 14:21:12 +0200 Subject: [PATCH 16/17] Do not relay on taking a screenshot to determine screen recording permissions. Instead read window titles of all visible windows. --- MacPass.xcodeproj/project.pbxproj | 4 +-- .../AutotypeDoctorReportViewController.xib | 6 ++-- MacPass/MPAutotypeDoctor.m | 34 ++++++++++--------- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 50aec9a9..894f8e30 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -809,6 +809,7 @@ 4CC6DB7917D23719002C6091 /* KPKNode+IconImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKNode+IconImage.m"; sourceTree = ""; }; 4CCA7EEC1797866F00B0B55E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/GeneralPreferences.strings; sourceTree = ""; }; 4CCA8E9A18D91ED9001A6754 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = System/Library/Frameworks/Quartz.framework; sourceTree = SDKROOT; }; + 4CCCE532230ACB73009B3D4D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/AutotypeDoctorReportViewController.strings; sourceTree = ""; }; 4CCCE7FF1D75CA48006AA951 /* MPArrayController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPArrayController.h; sourceTree = ""; }; 4CCCE8001D75CA48006AA951 /* MPArrayController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPArrayController.m; sourceTree = ""; }; 4CCEDE28179F203B008402BE /* MPOutlineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOutlineView.h; sourceTree = ""; }; @@ -976,7 +977,6 @@ 78E1F8AF22E3A3DF00E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/IntegrationPreferences.strings; sourceTree = ""; }; 78E1F8B122E3A5D600E738AE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AutotypeDoctorReportViewController.xib; sourceTree = ""; }; 78E1F8B422E3A5DB00E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/AutotypeDoctorReportViewController.strings; sourceTree = ""; }; - 78E1F8B622E3A5E900E738AE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/AutotypeDoctorReportViewController.strings; sourceTree = ""; }; 78E1F8B822E3B06700E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PickcharsView.strings; sourceTree = ""; }; 78E1F8BA22E3B0B700E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PickfieldView.strings; sourceTree = ""; }; 78E1F8BC22E3B12300E738AE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/OpenPanelAccessoryView.strings; sourceTree = ""; }; @@ -2679,7 +2679,7 @@ children = ( 78E1F8B122E3A5D600E738AE /* Base */, 78E1F8B422E3A5DB00E738AE /* ru */, - 78E1F8B622E3A5E900E738AE /* en */, + 4CCCE532230ACB73009B3D4D /* en */, ); name = AutotypeDoctorReportViewController.xib; sourceTree = ""; diff --git a/MacPass/Base.lproj/AutotypeDoctorReportViewController.xib b/MacPass/Base.lproj/AutotypeDoctorReportViewController.xib index e9275fa6..c3c3ddf7 100644 --- a/MacPass/Base.lproj/AutotypeDoctorReportViewController.xib +++ b/MacPass/Base.lproj/AutotypeDoctorReportViewController.xib @@ -72,14 +72,14 @@ - MacPass will read every window title when Global Autotype is executed to find a match. Since macOS 10.15 Catalina it is not possible to read any window title, if the user has not granted permissions to record the screen. If you are running macOS 10.15 or higher, MacPass will try to capture the left top most pixel on your screen to initate a request to record the screen. This pixel will not be stored and processed in any way. + MacPass will read every window title when Global Autotype is executed to find a match. Since macOS 10.15 Catalina it is not possible to read any window title, if the user has not granted permissions to record the screen. If you are running macOS 10.15 or higher, MacPass will check if it can read every window title of currently visible windows. This test will not read the actual title. The titles aren't stored or processed in any way.