diff --git a/src/KeePass.sln b/src/KeePass.sln index c8fbaebc..8bb64d99 100644 --- a/src/KeePass.sln +++ b/src/KeePass.sln @@ -96,8 +96,8 @@ Global {A57B3ACE-5634-469A-88C4-858BB409F356}.Release|x64.Build.0 = Release|Any CPU {A57B3ACE-5634-469A-88C4-858BB409F356}.ReleaseNoNet|Any CPU.ActiveCfg = Debug|Any CPU {A57B3ACE-5634-469A-88C4-858BB409F356}.ReleaseNoNet|Any CPU.Build.0 = Debug|Any CPU - {A57B3ACE-5634-469A-88C4-858BB409F356}.ReleaseNoNet|Mixed Platforms.ActiveCfg = Release|Any CPU - {A57B3ACE-5634-469A-88C4-858BB409F356}.ReleaseNoNet|Mixed Platforms.Build.0 = Release|Any CPU + {A57B3ACE-5634-469A-88C4-858BB409F356}.ReleaseNoNet|Mixed Platforms.ActiveCfg = ReleaseNoNet|Any CPU + {A57B3ACE-5634-469A-88C4-858BB409F356}.ReleaseNoNet|Mixed Platforms.Build.0 = ReleaseNoNet|Any CPU {A57B3ACE-5634-469A-88C4-858BB409F356}.ReleaseNoNet|Win32.ActiveCfg = Release|Any CPU {A57B3ACE-5634-469A-88C4-858BB409F356}.ReleaseNoNet|x64.ActiveCfg = Release|Any CPU {A8779D4D-7C49-4C2F-82BD-2CDC448391DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -118,8 +118,8 @@ Global {A8779D4D-7C49-4C2F-82BD-2CDC448391DA}.Release|x64.Build.0 = Release|Any CPU {A8779D4D-7C49-4C2F-82BD-2CDC448391DA}.ReleaseNoNet|Any CPU.ActiveCfg = Debug|Any CPU {A8779D4D-7C49-4C2F-82BD-2CDC448391DA}.ReleaseNoNet|Any CPU.Build.0 = Debug|Any CPU - {A8779D4D-7C49-4C2F-82BD-2CDC448391DA}.ReleaseNoNet|Mixed Platforms.ActiveCfg = Release|Any CPU - {A8779D4D-7C49-4C2F-82BD-2CDC448391DA}.ReleaseNoNet|Mixed Platforms.Build.0 = Release|Any CPU + {A8779D4D-7C49-4C2F-82BD-2CDC448391DA}.ReleaseNoNet|Mixed Platforms.ActiveCfg = ReleaseNoNet|Any CPU + {A8779D4D-7C49-4C2F-82BD-2CDC448391DA}.ReleaseNoNet|Mixed Platforms.Build.0 = ReleaseNoNet|Any CPU {A8779D4D-7C49-4C2F-82BD-2CDC448391DA}.ReleaseNoNet|Win32.ActiveCfg = Release|Any CPU {A8779D4D-7C49-4C2F-82BD-2CDC448391DA}.ReleaseNoNet|x64.ActiveCfg = Release|Any CPU {53A9CB7F-6553-4BC0-B56B-9410BB2E59AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -136,8 +136,8 @@ Global {53A9CB7F-6553-4BC0-B56B-9410BB2E59AA}.Release|x64.ActiveCfg = Release|Any CPU {53A9CB7F-6553-4BC0-B56B-9410BB2E59AA}.ReleaseNoNet|Any CPU.ActiveCfg = Release|Any CPU {53A9CB7F-6553-4BC0-B56B-9410BB2E59AA}.ReleaseNoNet|Any CPU.Build.0 = Release|Any CPU - {53A9CB7F-6553-4BC0-B56B-9410BB2E59AA}.ReleaseNoNet|Mixed Platforms.ActiveCfg = Release|Any CPU - {53A9CB7F-6553-4BC0-B56B-9410BB2E59AA}.ReleaseNoNet|Mixed Platforms.Build.0 = Release|Any CPU + {53A9CB7F-6553-4BC0-B56B-9410BB2E59AA}.ReleaseNoNet|Mixed Platforms.ActiveCfg = ReleaseNoNet|Any CPU + {53A9CB7F-6553-4BC0-B56B-9410BB2E59AA}.ReleaseNoNet|Mixed Platforms.Build.0 = ReleaseNoNet|Any CPU {53A9CB7F-6553-4BC0-B56B-9410BB2E59AA}.ReleaseNoNet|Win32.ActiveCfg = Release|Any CPU {53A9CB7F-6553-4BC0-B56B-9410BB2E59AA}.ReleaseNoNet|x64.ActiveCfg = Release|Any CPU {A5F8FB02-00E0-4335-91EF-AEAA2C2F3C48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -154,8 +154,8 @@ Global {A5F8FB02-00E0-4335-91EF-AEAA2C2F3C48}.Release|x64.ActiveCfg = Release|Any CPU {A5F8FB02-00E0-4335-91EF-AEAA2C2F3C48}.ReleaseNoNet|Any CPU.ActiveCfg = Release|Any CPU {A5F8FB02-00E0-4335-91EF-AEAA2C2F3C48}.ReleaseNoNet|Any CPU.Build.0 = Release|Any CPU - {A5F8FB02-00E0-4335-91EF-AEAA2C2F3C48}.ReleaseNoNet|Mixed Platforms.ActiveCfg = Release|Any CPU - {A5F8FB02-00E0-4335-91EF-AEAA2C2F3C48}.ReleaseNoNet|Mixed Platforms.Build.0 = Release|Any CPU + {A5F8FB02-00E0-4335-91EF-AEAA2C2F3C48}.ReleaseNoNet|Mixed Platforms.ActiveCfg = ReleaseNoNet|Any CPU + {A5F8FB02-00E0-4335-91EF-AEAA2C2F3C48}.ReleaseNoNet|Mixed Platforms.Build.0 = ReleaseNoNet|Any CPU {A5F8FB02-00E0-4335-91EF-AEAA2C2F3C48}.ReleaseNoNet|Win32.ActiveCfg = Release|Any CPU {A5F8FB02-00E0-4335-91EF-AEAA2C2F3C48}.ReleaseNoNet|x64.ActiveCfg = Release|Any CPU {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -177,9 +177,9 @@ Global {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|Any CPU.ActiveCfg = Release|Any CPU {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|Any CPU.Build.0 = Release|Any CPU {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|Any CPU.Deploy.0 = Release|Any CPU - {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|Mixed Platforms.ActiveCfg = Release|Any CPU - {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|Mixed Platforms.Build.0 = Release|Any CPU - {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|Mixed Platforms.Deploy.0 = Release|Any CPU + {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|Mixed Platforms.ActiveCfg = ReleaseNoNet|Any CPU + {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|Mixed Platforms.Build.0 = ReleaseNoNet|Any CPU + {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|Mixed Platforms.Deploy.0 = ReleaseNoNet|Any CPU {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|Win32.ActiveCfg = Release|Any CPU {46B769B8-2C58-4138-9CC0-70E3AE3C9A3A}.ReleaseNoNet|x64.ActiveCfg = Release|Any CPU EndGlobalSection diff --git a/src/KeePassLib2Android/Resources/Resource.designer.cs b/src/KeePassLib2Android/Resources/Resource.designer.cs index 367aacf9..e83a1334 100644 --- a/src/KeePassLib2Android/Resources/Resource.designer.cs +++ b/src/KeePassLib2Android/Resources/Resource.designer.cs @@ -2,7 +2,7 @@ //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:4.0.30319.18046 +// Laufzeitversion:4.0.30319.18051 // // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn // der Code erneut generiert wird. diff --git a/src/Kp2aBusinessLogic/IKp2aApp.cs b/src/Kp2aBusinessLogic/IKp2aApp.cs index 1951a686..7e6085fc 100644 --- a/src/Kp2aBusinessLogic/IKp2aApp.cs +++ b/src/Kp2aBusinessLogic/IKp2aApp.cs @@ -50,6 +50,16 @@ namespace keepass2android EventHandler yesHandler, EventHandler noHandler, EventHandler cancelHandler, + Context ctx); + + /// + /// Asks the user the question "messageKey" with the options Yes/No/Cancel, but the yes/no strings can be selected freely, calls the handler corresponding to the answer. + /// + void AskYesNoCancel(UiStringKey titleKey, UiStringKey messageKey, + UiStringKey yesString, UiStringKey noString, + EventHandler yesHandler, + EventHandler noHandler, + EventHandler cancelHandler, Context ctx); /// diff --git a/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj b/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj index 75a2642a..a39cd67f 100644 --- a/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj +++ b/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj @@ -32,6 +32,16 @@ prompt 4 + + bin\ReleaseNoNet\ + TRACE + true + pdbonly + AnyCPU + Off + prompt + MinimumRecommendedRules.ruleset + diff --git a/src/Kp2aBusinessLogic/Properties/AssemblyInfo.cs b/src/Kp2aBusinessLogic/Properties/AssemblyInfo.cs index b65267bb..3588c03f 100644 --- a/src/Kp2aBusinessLogic/Properties/AssemblyInfo.cs +++ b/src/Kp2aBusinessLogic/Properties/AssemblyInfo.cs @@ -30,5 +30,4 @@ using Android.App; [assembly: AssemblyFileVersion("1.0.0.0")] // Add some common permissions, these can be removed if not needed -[assembly: UsesPermission(Android.Manifest.Permission.Internet)] [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] diff --git a/src/Kp2aBusinessLogic/UiStringKey.cs b/src/Kp2aBusinessLogic/UiStringKey.cs index aa026a82..4011f22c 100644 --- a/src/Kp2aBusinessLogic/UiStringKey.cs +++ b/src/Kp2aBusinessLogic/UiStringKey.cs @@ -30,6 +30,10 @@ namespace keepass2android CheckingTargetFileForChanges, TitleSyncQuestion, MessageSyncQuestion, - SynchronizingDatabase + SynchronizingDatabase, + yes, + no, + YesSynchronize, + NoOverwrite } } \ No newline at end of file diff --git a/src/Kp2aBusinessLogic/database/Database.cs b/src/Kp2aBusinessLogic/database/Database.cs index 4f24db31..b7b70b3e 100644 --- a/src/Kp2aBusinessLogic/database/Database.cs +++ b/src/Kp2aBusinessLogic/database/Database.cs @@ -15,14 +15,16 @@ This file is part of Keepass2Android, Copyright 2013 Philipp Crocoll. This file along with Keepass2Android. If not, see . */ -using System; using System.Collections.Generic; using System.IO; using Android.Content; +using Java.Lang; using KeePassLib; using KeePassLib.Keys; using KeePassLib.Serialization; using keepass2android.Io; +using Exception = System.Exception; +using String = System.String; namespace keepass2android { @@ -35,7 +37,13 @@ namespace keepass2android public HashSet Dirty = new HashSet(new PwGroupEqualityFromIdComparer()); public PwGroup Root; public PwDatabase KpDatabase; - public IOConnectionInfo Ioc { get { return KpDatabase.IOConnectionInfo; } } + public IOConnectionInfo Ioc + { + get + { + return KpDatabase == null ? null : KpDatabase.IOConnectionInfo; + } + } public string LastFileVersion; public SearchDbHelper SearchHelper; diff --git a/src/Kp2aBusinessLogic/database/edit/SaveDB.cs b/src/Kp2aBusinessLogic/database/edit/SaveDB.cs index 71794a0c..f7d9fb7b 100644 --- a/src/Kp2aBusinessLogic/database/edit/SaveDB.cs +++ b/src/Kp2aBusinessLogic/database/edit/SaveDB.cs @@ -54,14 +54,15 @@ namespace keepass2android public override void Run () { - - if (! _dontSave) { + + if (!_dontSave) + { try { StatusLogger.UpdateMessage(UiStringKey.saving_database); IOConnectionInfo ioc = _app.GetDb().Ioc; IFileStorage fileStorage = _app.GetFileStorage(ioc); - + if ((!_app.GetBooleanPreference(PreferenceKey.CheckForFileChangesOnSave)) || (_app.GetDb().KpDatabase.HashOfFileOnDisk == null)) //first time saving { @@ -70,42 +71,44 @@ namespace keepass2android return; } - - + + if (fileStorage.CheckForFileChangeFast(ioc, _app.GetDb().LastFileVersion) //first try to use the fast change detection || (FileHashChanged(ioc, _app.GetDb().KpDatabase.HashOfFileOnDisk))) //if that fails, hash the file and compare: { - + //ask user... - _app.AskYesNoCancel(UiStringKey.TitleSyncQuestion, UiStringKey.MessageSyncQuestion, + _app.AskYesNoCancel(UiStringKey.TitleSyncQuestion, UiStringKey.MessageSyncQuestion, + UiStringKey.YesSynchronize, + UiStringKey.NoOverwrite, //yes = sync (sender, args) => - { - Action runHandler = () => - { - //note: when synced, the file might be downloaded once again from the server. Caching the data - //in the hashing function would solve this but increases complexity. I currently assume the files are - //small. - MergeIn(fileStorage, ioc); - PerformSaveWithoutCheck(fileStorage, ioc); - Finish(true); - }; - RunInWorkerThread(runHandler); - }, + { + Action runHandler = () => + { + //note: when synced, the file might be downloaded once again from the server. Caching the data + //in the hashing function would solve this but increases complexity. I currently assume the files are + //small. + MergeIn(fileStorage, ioc); + PerformSaveWithoutCheck(fileStorage, ioc); + Finish(true); + }; + RunInWorkerThread(runHandler); + }, //no = overwrite (sender, args) => - { - RunInWorkerThread( () => - { - PerformSaveWithoutCheck(fileStorage, ioc); - Finish(true); - }); - }, + { + RunInWorkerThread(() => + { + PerformSaveWithoutCheck(fileStorage, ioc); + Finish(true); + }); + }, //cancel (sender, args) => - { - RunInWorkerThread(() => Finish(false)); - }, + { + RunInWorkerThread(() => Finish(false)); + }, _ctx ); } @@ -114,8 +117,10 @@ namespace keepass2android PerformSaveWithoutCheck(fileStorage, ioc); Finish(true); } - - } catch (Exception e) { + + } + catch (Exception e) + { /* TODO KPDesktop: * catch(Exception exSave) { @@ -123,12 +128,15 @@ namespace keepass2android bSuccess = false; } */ - Kp2aLog.Log("Error while saving: "+e.ToString()); - Finish (false, e.Message); + Kp2aLog.Log("Error while saving: " + e.ToString()); + Finish(false, e.Message); return; - } + } + } + else + { + Finish(true); } - } diff --git a/src/Kp2aKeyboardBinding/Kp2aKeyboardBinding.csproj b/src/Kp2aKeyboardBinding/Kp2aKeyboardBinding.csproj index 30ce0f23..c984aa3f 100644 --- a/src/Kp2aKeyboardBinding/Kp2aKeyboardBinding.csproj +++ b/src/Kp2aKeyboardBinding/Kp2aKeyboardBinding.csproj @@ -1,4 +1,4 @@ - + Debug @@ -34,6 +34,13 @@ False SdkOnly + + bin\ReleaseNoNet\ + true + AnyCPU + prompt + MinimumRecommendedRules.ruleset + diff --git a/src/Kp2aUnitTests/Kp2aUnitTests.csproj b/src/Kp2aUnitTests/Kp2aUnitTests.csproj index 9ddd16b4..0ad98d38 100644 --- a/src/Kp2aUnitTests/Kp2aUnitTests.csproj +++ b/src/Kp2aUnitTests/Kp2aUnitTests.csproj @@ -37,6 +37,16 @@ False SdkOnly + + bin\ReleaseNoNet\ + TRACE + true + pdbonly + AnyCPU + Off + prompt + MinimumRecommendedRules.ruleset + diff --git a/src/Kp2aUnitTests/Resources/Resource.Designer.cs b/src/Kp2aUnitTests/Resources/Resource.Designer.cs index 4c9de774..39c76447 100644 --- a/src/Kp2aUnitTests/Resources/Resource.Designer.cs +++ b/src/Kp2aUnitTests/Resources/Resource.Designer.cs @@ -2,7 +2,7 @@ //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:4.0.30319.18046 +// Laufzeitversion:4.0.30319.18051 // // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn // der Code erneut generiert wird. diff --git a/src/Kp2aUnitTests/TestKp2aApp.cs b/src/Kp2aUnitTests/TestKp2aApp.cs index 365a9355..1b1caaaa 100644 --- a/src/Kp2aUnitTests/TestKp2aApp.cs +++ b/src/Kp2aUnitTests/TestKp2aApp.cs @@ -59,8 +59,23 @@ namespace Kp2aUnitTests public UiStringKey? LastYesNoCancelQuestionTitle { get; set; } - public void AskYesNoCancel(UiStringKey titleKey, UiStringKey messageKey, EventHandler yesHandler, EventHandler noHandler, - EventHandler cancelHandler, Context ctx) + + public void AskYesNoCancel(UiStringKey titleKey, UiStringKey messageKey, + EventHandler yesHandler, + EventHandler noHandler, + EventHandler cancelHandler, + Context ctx) + { + AskYesNoCancel(titleKey, messageKey, UiStringKey.yes, UiStringKey.no, + yesHandler, noHandler, cancelHandler, ctx); + } + + public void AskYesNoCancel(UiStringKey titleKey, UiStringKey messageKey, + UiStringKey yesString, UiStringKey noString, + EventHandler yesHandler, + EventHandler noHandler, + EventHandler cancelHandler, + Context ctx) { LastYesNoCancelQuestionTitle = titleKey; switch (_yesNoCancelResult) diff --git a/src/java/KP2ASoftKeyboard/project.zip b/src/java/KP2ASoftKeyboard/project.zip index 3c3c8035..017320e2 100644 Binary files a/src/java/KP2ASoftKeyboard/project.zip and b/src/java/KP2ASoftKeyboard/project.zip differ diff --git a/src/java/KP2ASoftKeyboard/res/drawable-hdpi/sym_keyboard_kp2a.png b/src/java/KP2ASoftKeyboard/res/drawable-hdpi/sym_keyboard_kp2a.png index 1bddc207..0947c238 100644 Binary files a/src/java/KP2ASoftKeyboard/res/drawable-hdpi/sym_keyboard_kp2a.png and b/src/java/KP2ASoftKeyboard/res/drawable-hdpi/sym_keyboard_kp2a.png differ diff --git a/src/java/KP2ASoftKeyboard/res/drawable-mdpi/sym_keyboard_kp2a.png b/src/java/KP2ASoftKeyboard/res/drawable-mdpi/sym_keyboard_kp2a.png index c43e47da..707b62d9 100644 Binary files a/src/java/KP2ASoftKeyboard/res/drawable-mdpi/sym_keyboard_kp2a.png and b/src/java/KP2ASoftKeyboard/res/drawable-mdpi/sym_keyboard_kp2a.png differ diff --git a/src/java/KP2ASoftKeyboard/res/values-it/strings.xml b/src/java/KP2ASoftKeyboard/res/values-it/strings.xml index 351dfe74..50c0562b 100644 --- a/src/java/KP2ASoftKeyboard/res/values-it/strings.xml +++ b/src/java/KP2ASoftKeyboard/res/values-it/strings.xml @@ -1,3 +1,11 @@ - + + \u0020.,;:!?\n()[]*&@{}/<>_+=|\" + Selezionare un\'altra voce + Selezionare la voce + Cercare la voce \"%1$ s\" + Vai + Avanti + Invia + diff --git a/src/java/KP2ASoftKeyboard/res/values-nb/strings.xml b/src/java/KP2ASoftKeyboard/res/values-nb/strings.xml index 14f73c76..7fb47938 100644 --- a/src/java/KP2ASoftKeyboard/res/values-nb/strings.xml +++ b/src/java/KP2ASoftKeyboard/res/values-nb/strings.xml @@ -4,6 +4,7 @@ \u0020.,;:!?\n()[]*&@{}/<>_+=|\" Velg en annen oppføring Velg oppføring + Søke etter oppføringen med \"%1$s\" Kjør Neste Send diff --git a/src/java/KP2ASoftKeyboard/res/values-pt-rBR/strings.xml b/src/java/KP2ASoftKeyboard/res/values-pt-rBR/strings.xml index 351dfe74..f4a970e9 100644 --- a/src/java/KP2ASoftKeyboard/res/values-pt-rBR/strings.xml +++ b/src/java/KP2ASoftKeyboard/res/values-pt-rBR/strings.xml @@ -1,3 +1,11 @@ - + + \u0020.,;:!?\n()[]*&@{}/<>_+=|\" + Selecione outra entrada + Selecione uma entrada + Localizar entrada com \"%1$s\" + Ir + Próximo + Enviar + diff --git a/src/java/KP2ASoftKeyboard/res/values-sv/strings.xml b/src/java/KP2ASoftKeyboard/res/values-sv/strings.xml index 351dfe74..814ea337 100644 --- a/src/java/KP2ASoftKeyboard/res/values-sv/strings.xml +++ b/src/java/KP2ASoftKeyboard/res/values-sv/strings.xml @@ -1,3 +1,11 @@ - + + \u0020.,;:!?\n()[]*&@{}/<>_+=|\" + Välj en annan post + Välj post + Sök efter post med \"%1$s\" + + Nästa + Skicka + diff --git a/src/java/KP2ASoftKeyboard/res/values-zh-rCN/strings.xml b/src/java/KP2ASoftKeyboard/res/values-zh-rCN/strings.xml index 351dfe74..b88b67ec 100644 --- a/src/java/KP2ASoftKeyboard/res/values-zh-rCN/strings.xml +++ b/src/java/KP2ASoftKeyboard/res/values-zh-rCN/strings.xml @@ -1,3 +1,11 @@ - + + \u0020.,;:!?\n()[]*&@{}/<>_+=|\" + 选择另一条目 + 选择条目 + 搜索带有\"%1$ s\" 的条目 + 转到 + 下一步 + 发送 + diff --git a/src/keepass2android/GroupBaseActivity.cs b/src/keepass2android/GroupBaseActivity.cs index 17f959b5..e4c8d296 100644 --- a/src/keepass2android/GroupBaseActivity.cs +++ b/src/keepass2android/GroupBaseActivity.cs @@ -194,12 +194,13 @@ namespace keepass2android MenuInflater inflater = MenuInflater; inflater.Inflate(Resource.Menu.group, menu); + if (Util.HasActionBar(this)) + { + var searchManager = (SearchManager) GetSystemService(Context.SearchService); + var searchView = (SearchView) menu.FindItem(Resource.Id.menu_search).ActionView; - var searchManager = (SearchManager)GetSystemService(Context.SearchService); - var searchView = (SearchView)menu.FindItem(Resource.Id.menu_search).ActionView; - - searchView.SetSearchableInfo(searchManager.GetSearchableInfo(ComponentName)); - + searchView.SetSearchableInfo(searchManager.GetSearchableInfo(ComponentName)); + } return true; } diff --git a/src/keepass2android/Properties/AndroidManifest_net.xml b/src/keepass2android/Properties/AndroidManifest_net.xml index f07997f8..7e8660ba 100644 --- a/src/keepass2android/Properties/AndroidManifest_net.xml +++ b/src/keepass2android/Properties/AndroidManifest_net.xml @@ -1,7 +1,7 @@  diff --git a/src/keepass2android/Properties/AndroidManifest_nonet.xml b/src/keepass2android/Properties/AndroidManifest_nonet.xml index 3b5236bb..623b1b6d 100644 --- a/src/keepass2android/Properties/AndroidManifest_nonet.xml +++ b/src/keepass2android/Properties/AndroidManifest_nonet.xml @@ -1,11 +1,11 @@  - + diff --git a/src/keepass2android/Resources/Resource.designer.cs b/src/keepass2android/Resources/Resource.designer.cs index 9b3b0fdb..5e354de0 100644 --- a/src/keepass2android/Resources/Resource.designer.cs +++ b/src/keepass2android/Resources/Resource.designer.cs @@ -2,7 +2,7 @@ //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:4.0.30319.18046 +// Laufzeitversion:4.0.30319.18051 // // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn // der Code erneut generiert wird. @@ -477,70 +477,73 @@ namespace keepass2android public const int ic_launcher_gray = 2130837590; // aapt resource value: 0x7f020057 - public const int ic_menu_add_field_holo_light = 2130837591; + public const int ic_launcher_offline = 2130837591; // aapt resource value: 0x7f020058 - public const int ic_menu_remove_field_holo_light = 2130837592; + public const int ic_menu_add_field_holo_light = 2130837592; // aapt resource value: 0x7f020059 - public const int ic_menu_view = 2130837593; + public const int ic_menu_remove_field_holo_light = 2130837593; // aapt resource value: 0x7f02005a - public const int location_web_site = 2130837594; + public const int ic_menu_view = 2130837594; // aapt resource value: 0x7f02005b - public const int navigation_accept = 2130837595; + public const int location_web_site = 2130837595; // aapt resource value: 0x7f02005c - public const int navigation_accept_dark = 2130837596; + public const int navigation_accept = 2130837596; // aapt resource value: 0x7f02005d - public const int navigation_cancel = 2130837597; + public const int navigation_accept_dark = 2130837597; // aapt resource value: 0x7f02005e - public const int navigation_previous_item = 2130837598; + public const int navigation_cancel = 2130837598; // aapt resource value: 0x7f02005f - public const int navigation_previous_item_dark = 2130837599; + public const int navigation_previous_item = 2130837599; // aapt resource value: 0x7f020060 - public const int notify = 2130837600; + public const int navigation_previous_item_dark = 2130837600; // aapt resource value: 0x7f020061 - public const int notify_keyboard = 2130837601; + public const int notify = 2130837601; // aapt resource value: 0x7f020062 - public const int RedButton = 2130837602; + public const int notify_keyboard = 2130837602; // aapt resource value: 0x7f020063 - public const int section_header = 2130837603; + public const int RedButton = 2130837603; // aapt resource value: 0x7f020064 - public const int sym_keyboard = 2130837604; + public const int section_header = 2130837604; // aapt resource value: 0x7f020065 - public const int sym_keyboard_delete = 2130837605; + public const int sym_keyboard = 2130837605; // aapt resource value: 0x7f020066 - public const int sym_keyboard_done = 2130837606; + public const int sym_keyboard_delete = 2130837606; // aapt resource value: 0x7f020067 - public const int sym_keyboard_kp2a = 2130837607; + public const int sym_keyboard_done = 2130837607; // aapt resource value: 0x7f020068 - public const int sym_keyboard_return = 2130837608; + public const int sym_keyboard_kp2a = 2130837608; // aapt resource value: 0x7f020069 - public const int sym_keyboard_search = 2130837609; + public const int sym_keyboard_return = 2130837609; // aapt resource value: 0x7f02006a - public const int sym_keyboard_shift = 2130837610; + public const int sym_keyboard_search = 2130837610; // aapt resource value: 0x7f02006b - public const int sym_keyboard_space = 2130837611; + public const int sym_keyboard_shift = 2130837611; // aapt resource value: 0x7f02006c - public const int YellowButton = 2130837612; + public const int sym_keyboard_space = 2130837612; + + // aapt resource value: 0x7f02006d + public const int YellowButton = 2130837613; static Drawable() { @@ -942,8 +945,8 @@ namespace keepass2android // aapt resource value: 0x7f0d00a5 public const int menu_cancel_edit = 2131558565; - // aapt resource value: 0x7f0d00aa - public const int menu_change_master_key = 2131558570; + // aapt resource value: 0x7f0d00a9 + public const int menu_change_master_key = 2131558569; // aapt resource value: 0x7f0d009e public const int menu_donate = 2131558558; @@ -960,11 +963,11 @@ namespace keepass2android // aapt resource value: 0x7f0d00a8 public const int menu_search = 2131558568; - // aapt resource value: 0x7f0d00a9 - public const int menu_search_advanced = 2131558569; - // aapt resource value: 0x7f0d00ab - public const int menu_sort = 2131558571; + public const int menu_search_advanced = 2131558571; + + // aapt resource value: 0x7f0d00aa + public const int menu_sort = 2131558570; // aapt resource value: 0x7f0d00a2 public const int menu_suggest_improvements = 2131558562; @@ -1296,32 +1299,32 @@ namespace keepass2android // aapt resource value: 0x7f0800f7 public const int BinaryDirectory_title = 2131230967; - // aapt resource value: 0x7f080138 - public const int ChangeLog = 2131231032; + // aapt resource value: 0x7f08013a + public const int ChangeLog = 2131231034; + + // aapt resource value: 0x7f080139 + public const int ChangeLog_0_7 = 2131231033; // aapt resource value: 0x7f080137 - public const int ChangeLog_0_7 = 2131231031; - - // aapt resource value: 0x7f080135 - public const int ChangeLog_0_8 = 2131231029; - - // aapt resource value: 0x7f080134 - public const int ChangeLog_0_8_1 = 2131231028; - - // aapt resource value: 0x7f080133 - public const int ChangeLog_0_8_2 = 2131231027; - - // aapt resource value: 0x7f080132 - public const int ChangeLog_0_8_3 = 2131231026; - - // aapt resource value: 0x7f080131 - public const int ChangeLog_0_8_4 = 2131231025; + public const int ChangeLog_0_8 = 2131231031; // aapt resource value: 0x7f080136 - public const int ChangeLog_keptDonate = 2131231030; + public const int ChangeLog_0_8_1 = 2131231030; - // aapt resource value: 0x7f080130 - public const int ChangeLog_title = 2131231024; + // aapt resource value: 0x7f080135 + public const int ChangeLog_0_8_2 = 2131231029; + + // aapt resource value: 0x7f080134 + public const int ChangeLog_0_8_3 = 2131231028; + + // aapt resource value: 0x7f080133 + public const int ChangeLog_0_8_4 = 2131231027; + + // aapt resource value: 0x7f080138 + public const int ChangeLog_keptDonate = 2131231032; + + // aapt resource value: 0x7f080132 + public const int ChangeLog_title = 2131231026; // aapt resource value: 0x7f080029 public const int CheckForFileChangesOnSave_key = 2131230761; @@ -1371,6 +1374,9 @@ namespace keepass2android // aapt resource value: 0x7f08012e public const int MessageSyncQuestion = 2131231022; + // aapt resource value: 0x7f080131 + public const int NoOverwrite = 2131231025; + // aapt resource value: 0x7f08002f public const int OpenKp2aKeyboardAutomatically_key = 2131230767; @@ -1503,6 +1509,9 @@ namespace keepass2android // aapt resource value: 0x7f08002e public const int UseKp2aKeyboard_key = 2131230766; + // aapt resource value: 0x7f080130 + public const int YesSynchronize = 2131231024; + // aapt resource value: 0x7f080032 public const int about_feedback = 2131230770; @@ -2298,10 +2307,13 @@ namespace keepass2android public const int searchable = 2131034115; // aapt resource value: 0x7f050004 - public const int symbols = 2131034116; + public const int searchable_offline = 2131034116; // aapt resource value: 0x7f050005 - public const int symbols_shift = 2131034117; + public const int symbols = 2131034117; + + // aapt resource value: 0x7f050006 + public const int symbols_shift = 2131034118; static Xml() { diff --git a/src/keepass2android/Resources/drawable-hdpi/ic_launcher.png b/src/keepass2android/Resources/drawable-hdpi/ic_launcher.png index 4f8cc368..b2ddc521 100644 Binary files a/src/keepass2android/Resources/drawable-hdpi/ic_launcher.png and b/src/keepass2android/Resources/drawable-hdpi/ic_launcher.png differ diff --git a/src/keepass2android/Resources/drawable-hdpi/ic_launcher_offline.png b/src/keepass2android/Resources/drawable-hdpi/ic_launcher_offline.png new file mode 100644 index 00000000..b1466a7e Binary files /dev/null and b/src/keepass2android/Resources/drawable-hdpi/ic_launcher_offline.png differ diff --git a/src/keepass2android/Resources/drawable-mdpi/ic_launcher.png b/src/keepass2android/Resources/drawable-mdpi/ic_launcher.png index f34f9b5b..189558d2 100644 Binary files a/src/keepass2android/Resources/drawable-mdpi/ic_launcher.png and b/src/keepass2android/Resources/drawable-mdpi/ic_launcher.png differ diff --git a/src/keepass2android/Resources/drawable-mdpi/ic_launcher_offline.png b/src/keepass2android/Resources/drawable-mdpi/ic_launcher_offline.png new file mode 100644 index 00000000..cac41265 Binary files /dev/null and b/src/keepass2android/Resources/drawable-mdpi/ic_launcher_offline.png differ diff --git a/src/keepass2android/Resources/drawable-v11/ic_launcher_gray.png b/src/keepass2android/Resources/drawable-v11/ic_launcher_gray.png index d68da21f..4b0dde6a 100644 Binary files a/src/keepass2android/Resources/drawable-v11/ic_launcher_gray.png and b/src/keepass2android/Resources/drawable-v11/ic_launcher_gray.png differ diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_launcher.png b/src/keepass2android/Resources/drawable-xhdpi/ic_launcher.png index 03304a0e..3a38757e 100644 Binary files a/src/keepass2android/Resources/drawable-xhdpi/ic_launcher.png and b/src/keepass2android/Resources/drawable-xhdpi/ic_launcher.png differ diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_launcher_offline.png b/src/keepass2android/Resources/drawable-xhdpi/ic_launcher_offline.png new file mode 100644 index 00000000..5486a780 Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_launcher_offline.png differ diff --git a/src/keepass2android/Resources/drawable-xxhdpi/ic_launcher.png b/src/keepass2android/Resources/drawable-xxhdpi/ic_launcher.png index 479eb39b..f0109f9c 100644 Binary files a/src/keepass2android/Resources/drawable-xxhdpi/ic_launcher.png and b/src/keepass2android/Resources/drawable-xxhdpi/ic_launcher.png differ diff --git a/src/keepass2android/Resources/drawable-xxhdpi/ic_launcher_offline.png b/src/keepass2android/Resources/drawable-xxhdpi/ic_launcher_offline.png new file mode 100644 index 00000000..0dd22310 Binary files /dev/null and b/src/keepass2android/Resources/drawable-xxhdpi/ic_launcher_offline.png differ diff --git a/src/keepass2android/Resources/drawable/ic_launcher.png b/src/keepass2android/Resources/drawable/ic_launcher.png index f34f9b5b..189558d2 100644 Binary files a/src/keepass2android/Resources/drawable/ic_launcher.png and b/src/keepass2android/Resources/drawable/ic_launcher.png differ diff --git a/src/keepass2android/Resources/drawable/ic_launcher_gray.png b/src/keepass2android/Resources/drawable/ic_launcher_gray.png index e802fc5f..710baa01 100644 Binary files a/src/keepass2android/Resources/drawable/ic_launcher_gray.png and b/src/keepass2android/Resources/drawable/ic_launcher_gray.png differ diff --git a/src/keepass2android/Resources/drawable/ic_launcher_offline.png b/src/keepass2android/Resources/drawable/ic_launcher_offline.png new file mode 100644 index 00000000..cac41265 Binary files /dev/null and b/src/keepass2android/Resources/drawable/ic_launcher_offline.png differ diff --git a/src/keepass2android/Resources/menu/group.xml b/src/keepass2android/Resources/menu/group.xml index 4a516d20..26788479 100644 --- a/src/keepass2android/Resources/menu/group.xml +++ b/src/keepass2android/Resources/menu/group.xml @@ -30,11 +30,7 @@ android:showAsAction="ifRoom" android:actionViewClass="android.widget.SearchView" /> - + Domovská stránka Keepass2Android je Android implementace správce hesel KeePass. Uživatelské rozhraní je založeno na portu KeepassDroid (vyvinul Brian Pellin). Kód pro databázové operace je vychází z kódu pro KeePass (napsal Dominik Reichl). Logo Android robota vychází z verze sdílené Googlem a je upraveno a použito dle podmínek popsaných v licenci Creative Commons 3.0. - Přijat - Přidat záznam + Přijmout + Přidat položku Vytvořit položku pro adresu URL Přidat skupinu Přidat skupinu @@ -30,17 +30,17 @@ Kopírovat uživatelské jméno do schránky Kopírovat heslo do schránky Vstup je k dispozici prostřednictvím KP2A klávesnice - Nepodařilo se otevřít dialog pro výběr vstupní metody. Aktivujte klávesnici ručně. + Nepodařilo se otevřít dialog pro výběr způsobu vkládání. Aktivujte klávesnici ručně. Prosím, povolte Keepass2Android klávesnici v nastavení systému. Vytvářím databázový klíč… Aktuální skupina Aktuální skupina: Kořen Databáze Dešifruji obsah databáze… - Dešifruji záznam + Dešifruji položku Použít jako výchozí databázi - Čísla - Keepass2Android dodáván BEZ JAKÉKOLIV ZÁRUKY; Toto je free software zdarma, a je možná jeho redistribuce pod podmínkou licence GPL verze 2 nebo novější. + Číslice + Keepass2Android dodáván BEZ JAKÉKOLIV ZÁRUKY; Toto je svobodný software, a můžete jej šířit pod licencí GPL verze 2 nebo novější. \u2026 Zadejte názvev souboru databáze Poslední přístup @@ -52,7 +52,7 @@ Potvrďte heslo Vytvořeno Vyprší - Klíčový soubor (nepovinné) + Soubor s klíčem (volitelný) Změněno Heslo Uložit @@ -87,7 +87,7 @@ Skupina poznámka potvrdit heslo - generované heslo + vygenerované heslo Název skupiny klíčový soubor délka @@ -98,8 +98,8 @@ přepsat adresu url štítek1, štítek2 uživatelské jméno - Instalovat z Play - Instalovat z webu + Instalace z Play Store + Instalace z webu Chybné heslo nebo klíčový soubor. Neplatný algoritmus. Databázový formát nelze rozpoznat. @@ -124,18 +124,19 @@ Přispějte na pivo... Změnit Skrýt heslo - Jít na domovskou stránku + Přejít na domovskou stránku Zamknout databázi Otevřít Přejmenovat Hledat - Jdi na URL + Pokročilé vyhledávání + Přejít na adresu URL Mínus Nikdy Ano Ne Žádný záznam v databázi nebo ve skupině. - žádný výsledek hledání + Nenalezeno Žádný handler pro toto url. Otevřít poslední databázi (kliknout pro otevření) Neprohledávat zálohy a koš @@ -159,7 +160,7 @@ Hledat Zobrazit heslo Seřadit podle jména - Seřadit podle DB + Seřadit podle data vytvoření Speciální Co najít Výsledky hledání @@ -167,29 +168,29 @@ Vyberte další položku Otevřete požadovanou skupinu a poté stiskněte \"%1$s\"! Twofish - Podtrženo + Podtrhnout Nepodporovaná verze databáze. Velká písmena Vaše SD karta je v módu jen pro čtení. Nebudete moct ukládat změny v databázi. - Vaše SD karta není momentálně připojena v zařízení. Nebudete moct načíst nebo vytvořit databázi. + SD karta není momentálně vložena do zařízení. Nebudete moci načíst nebo vytvořit databázi. Verze Regulární výraz Tan vyprší při použití Při použití označovat vypršelé TAN položky Zobrazit uživatelské jméno v seznamu - Zobrazit uživatelská jména pod titulky položek . Užitečné pro vícenásobné účty nebo TANy. + Zobrazovat uživatelská jména pod názvy položek. Užitečné pro vícenásobné účty nebo TANy. Keepass2Android: Najít heslo Vyloučit neplatné položky Možnosti - Malá a velká písmena + Rozlišování malých a velkých písmen Otevřít soubor... - Vytvořte novou databázi... + Vytvořit novou databázi... Otevřít adresu URL... Importovat soubor do nové databáze... Úplná adresa URL musí obsahovat protokol, např. http://. V dalším kroku bude vybrán soubor pro import. Povolit RychléOdemknutí - Zadejte poslední %1$ d znaky hesla: + Zadejte poslední %1$d znaky hesla: RychléOdemknutí! Zavřít databázi Ve výchozím nastavení povolit RychléOdemknutí @@ -200,24 +201,27 @@ Adresář souborů s přílohami Adresář, do kterého jsou ukládány přílohy souborů. Uložit přílohu - Prosím vyberte, kam chcete přílohu uložit. + Prosím vyberte, kam chcete uložit přílohu. Uložit na SD kartu Uložit do mezipaměti a otevřít - Uložit soubor do %1$ . - Nelze uložit přílohu do %1$ . - Neplatný formát datumu a času pro datum vypršení! - Název pole je vyžadována pro každý řetězec. + Uložit soubor do %1$s. + Nelze uložit přílohu do %1$s. + Neplatný formát data a času pro datum expirace! + Název pole je vyžadován pro každý řetězec. Název pole Hodnota pole - Ochrana paměti - Přidáte soubor jako přílohu... - Přidat další řetězec + Chráněné pole + Přidat soubor jako přílohu... + Přidat doplňkový text + Smazat doplňkový text Databáze načtena, RychléOdemknutí povoleno. Zadejte pověření pro server Transakce souboru Použít transakční metodu zápisu do databáze + Kontrola změn + Před uložením zkontrolovat, zda byl soubor změněn na jiném zařízení. Upozornění schránky - Zpřístupnění uživatelského jména a hesla prostřednictvím oznamovacího oblasti a schránky. Pozor na skenery hesel! + Zpřístupnění uživatelského jména a hesla prostřednictvím oznamovací oblasti a schránky. Pozor na skenery hesel! Oznámení klávesnice KP2A Zpřístupněte celý záznam prostřednictvím klávesnice KP2A (doporučeno). Dialog pro výběr klávesnice @@ -230,15 +234,41 @@ Koš Chcete trvale odstranit tuto položku? Stisk Ne ji znovu obnoví. Chcete trvale odstranit tuto skupinu? Stisk Ne ji znovu obnoví. - Natrvalo odstranit? + Trvale odstranit? Znovu načíst soubor? Soubor, který je v současné době otevřen byl změněn jiným programem. Přejete si jej znovu načíst? Opravdu chcete zrušit provedené změny? (Tlačítko Uložit je v horní části formuláře.) - Chcete zahodit změny? + Zahodit změny? Navrhnout nebo hlasovat pro vylepšení Ohodnoťte tuto aplikaci Přeložit KP2A + Přidávám položku… + Přidávám skupinu… + Mažu položku… + Mažu skupinu… + Nastavuji heslo… + Vracím změny… + Transformace hlavního klíče… + Dekóduji databázi… + Analýza databáze… + Kontroluji změny v cílovém souboru… + Sloučit změny? + Databáze byla změněna z jiného zařízení. Chcete nahrát a sloučit změny před uložením? Vyberte možnost Ne, pokud chcete přepsat změny z jiného zařízení. + Slučování změn… + Ano, sloučit + Ne, přepsat Protokol změn + + Verze 0.8.4\n + * Detekce a uložení změn v externích databázích při ukládání\n + * Zrychlení načítání\n + * Vylepšený nástroj hledání s doporučeními\n + * Nové App logo! + * Přidána podpora pro formát .kdbp pro rychlejší otvírání/ukládání\n + * Vylepšená editace doplňujících textů a skrytý disple v chráněném móodu\n + Díky Alex Vallatza příspěvky v kódu!\n + Díky Niki Hüttner (www.close-cut.de) za nové logo!\n + Verze 0.8.3\n * Uživatelské jméno/TAN index je zobrazen v seznamu položek (viz nastavení)\n * Pokud hledání z prohlížeče nenalezne žádný záznam, je možno vytvořit nové polžky\n @@ -263,7 +293,7 @@ * opraveny chyby v Editaci aktivit\n * pravděpodobně zaneseny nové chyby :-) - Rozšíření možnosti darovat pivo nebo něco jiného + Rozšířené možnosti přispět na pivo nebo něco jiného Verze 0.7\n * Zrychlení načítání: klíčové transformace jsou nyní 10x rychlejší!\n * Přidán Keepass2Android soft-keyboard: Přepněte se na tuto klávesnici pro vložení údajů pověření. Ochraňuje před útoky založenými na skenování schránky (vypněte starý systém upozornění v nastavení)\n @@ -291,7 +321,7 @@ První veřejné vydání Malý Střední - Velký + Velké Nepamatovat si uživatelské jméno a heslo diff --git a/src/keepass2android/Resources/values-de/strings.xml b/src/keepass2android/Resources/values-de/strings.xml index 5383534d..ba4c3325 100644 --- a/src/keepass2android/Resources/values-de/strings.xml +++ b/src/keepass2android/Resources/values-de/strings.xml @@ -130,6 +130,7 @@ Der Android Robot wird genutzt und wurde modifiziert basierend auf Arbeiten, die Öffnen Umbenennen Suchen + Erweiterte Suche URL öffnen Bindestrich Nie @@ -210,13 +211,16 @@ Der Android Robot wird genutzt und wurde modifiziert basierend auf Arbeiten, die Ein Feldname ist für jeden Eintrag erforderlich. Feldname Feldwert - Speicherschutz + Geschütztes Feld Dateianhang hinzufügen... Zusätzliches Feld hinzufügen + Zusätzliches Feld löschen Datenbank geladen, QuickUnlock aktiviert. Serverzugangsdaten eingeben Dateitransaktionen Dateitransaktionen beim Schreiben von Datenbank-Dateien verwenden + Auf Änderungen prüfen + Vor dem Speichern prüfen, ob die Datei von außerhalb geändert wurde. Zwischenablage-Benachrichtigungen Benutzername und Passwort über die Benachrichtigungsleiste und die Zwischenablage verfügbar machen. Achtung vor Passwort-Sniffern! KP2A-Tastatur Benachrichtigung @@ -239,7 +243,31 @@ Der Android Robot wird genutzt und wurde modifiziert basierend auf Arbeiten, die Verbesserungen vorschlagen Diese App bewerten KP2A übersetzen + Füge Eintrag hinzu… + Füge Gruppe hinzu… + Lösche Eintrag… + Lösche Gruppe… + Setze Passwort… + Nehme Änderungen zurück… + Führe Schlüsseltransformationen durch… + Entschlüssele Datenbank… + Lese Datenbank ein… + Prüfe ob Zieldatei geändert wurde… + Änderungen zusammenführen? + Die Datenbankdatei wurde von außerhalb geändert. Sollen diese Änderungen geladen und mit den in Keepass2Android gemachten Änderungen zusammengeführt werden, bevor die Datenbank gespeichert wird? Wähle Nein, um die externen Änderungen zu überschreiben. + Führe Änderungen zusammen… + Ja, zusammenführen + Nein, überschreiben Neuigkeiten + Version 0.8.4\n +* Externe Datenbankänderungen werden beim Speichern erkannt und zusammengeführt\n +* Gesteigerte Geschwindigkeit beim Laden\n +* Suchleiste mit Vorschlägen\n +* Neues App Logo!\n +* Unterstützung für das .kdbp-Format für schnelleres Laden/Speichern\n +* Verbesserte Bearbeitung von zusätzlichen Feldern und versteckte Darstellung von geschützten Feldern\n +Danke an Alex Vallat für seinen Beitrag zum Programm!\n +Danke an Niki Hüttner (www.close-cut.de) für das neue Logo!\n Version 0.8.3\n * Benutzername/TAN index wird in Liste der Einträge angezeigt (s. Einstellungen)\n * Einträge können neu angelegt werden, wenn Suche aus Browser kein Ergebnis gebracht hat\n diff --git a/src/keepass2android/Resources/values-es/strings.xml b/src/keepass2android/Resources/values-es/strings.xml index d568ce43..152df0e9 100644 --- a/src/keepass2android/Resources/values-es/strings.xml +++ b/src/keepass2android/Resources/values-es/strings.xml @@ -204,7 +204,6 @@ Se requiere un nombre en cada entrada. Nombre del campo Valor del campo - Protección de memoria Agregar archivo adjunto... Agregar una cadena Base de datos cargada, Desbloqueo Rápido habilitado. diff --git a/src/keepass2android/Resources/values-fr/strings.xml b/src/keepass2android/Resources/values-fr/strings.xml index 53828cb9..e0eac2d1 100644 --- a/src/keepass2android/Resources/values-fr/strings.xml +++ b/src/keepass2android/Resources/values-fr/strings.xml @@ -129,6 +129,7 @@ Ouvrir Renommer Rechercher + Recherche avancée Aller à l\'adresse URL Moins Jamais @@ -209,13 +210,16 @@ Un nom de champ est requis pour chaque chaîne de caractères. Nom du champ Valeur du champ - Protection de la mémoire + Champ protégé Ajouter une pièce jointe... Ajouter une chaîne de caractère supplémentaire + Supprimer la chaîne additionnelle Base de donnée chargée, QuickUnlock activé. Entrez vos identifiants pour le serveur File transactions Utiliser les opérations sur les fichiers pour écrire les bases de données + Rechercher des modifications + Vérifie si le fichier a été modifié par ailleurs avant d\'enregistrer les modifications. Barre de notification et presse-papiers Rend le nom d\'utilisateur et le mot de passe accessibles via la barre de notification et le presse-papiers. Attention au sniffers de mot de passes ! Barre de notification et clavier KP2A @@ -238,7 +242,31 @@ Faire des suggestions ou votez pour des améliorations Noter cette application Traduire KP2A + Ajout de l\'entrée en cours… + Ajout du groupe en cours… + Suppression de l\'entrée… + Suppression du groupe… + Prise en compte du mot de passe… + Annulation de modifications… + Changement de la clé principale… + Décodage de la base de données… + Analyse de la base de données… + Vérification des modifications dans le fichier… + Fusionner les modifications ? + La base de données a été modifiée par une source tierce. Voulez-vous charger et fusionner les changements avant de sauvegarder ? Sélectionnez \"Non\" si vous voulez écraser les changements externes. + Importation des modifications… + Oui, fusionne + Non, l\'écraser Journal des modifications + Version 0.8.4\n +* Modifications tierces de la base de données détectées et fusionnées à la sauvegarde\n +* Chargement optimisé\n +* Amélioration de la barre de recherche (suggestions)\n +* Nouveau logo pour l\'application ! \n +* Support des fichiers .kdbp pour des chargements/enregistrements plus rapides\n +* Édition des chaînes additionnelles améliorée et interface cachée lorsque protégée\n +Merci à Alex Vallat pour ses contributions au code !\n +Merci à Niki Hüttner (www.close-cut.de) pour le nouveau logo !\n Version 0.8.3\n * Nom d\'utilisateur/TAN affiché dans la liste des entrées (voir les préférences)\n * Les entrées peuvent être créées lorsqu\'elles ne sont pas trouvées\n diff --git a/src/keepass2android/Resources/values-it/strings.xml b/src/keepass2android/Resources/values-it/strings.xml index 9c164b43..88ddd412 100644 --- a/src/keepass2android/Resources/values-it/strings.xml +++ b/src/keepass2android/Resources/values-it/strings.xml @@ -7,6 +7,7 @@ L\'interfaccia utente è basata su di un riporto di KeepassDroid sviluppato da Brian Pellin. Il codice per le operazioni del database si basa su KeePass da Dominik Reichl. Il robot Android è riprodotto o modificato dal lavoro creato e condiviso da Google e utilizzato secondo i termini descritti in Creative Commons Attribution 3.0 License. Accetto Aggiungi voce + Creare la voce per l\'URL Aggiungi gruppo Aggiungi Gruppo Algoritmo @@ -28,6 +29,7 @@ Tempo prima di eliminare gli appunti dopo la copia del nome file o password Copia nome utente negli appunti Copia password negli appunti + La voceè disponibile attraverso la tastiera KP2A Impossibile aprire la finestra di selezione del metodo di input. Si prega di attivare manualmente la tastiera. Si prega di abilitare la tastiera Keepass2Android nelle impostazioni del tuo sistema. Creazione file chiave database… @@ -46,6 +48,7 @@ Annulla Commento Tags + Sovrascivere l\'URL Conferma password Creato Scade @@ -92,6 +95,8 @@ Password nome url + sovrascrivere l\'URL + tag1, tag2 nome utente Installa dal Market Installa dal Web @@ -124,6 +129,7 @@ Apri Rinomina Cerca + Ricerca Avanzata Vai all\'URL Meno Mai @@ -148,6 +154,7 @@ Un livello di cifratura elevato fornisce una protezione maggiore contro attacchi di tipo \"forza brutta\", ma può veramente rallentare il caricamento e il salvataggio. livello Nome del database + Nome utente predefinito per le nuove voci Salvataggio database… Spazio Cerca @@ -155,7 +162,11 @@ Ordina per nome Ordinamento DB Speciale + Cerca + Risultati della ricerca Cerca in + Selezionare un\'altra voce + Open the desired group, then press \"%1$s\"! Twofish Sottolinea Versione database non supportata. @@ -164,6 +175,11 @@ Attualmente la scheda SD non è montata nel dispositivo. Non sarai in grado di caricare o creare un nuovo database. Versione Espressione regolare + Tan scade con l\'uso + Segna i TAN come scaduti quando usati + Visualizza il nome utente nella lista + Visualizza il nome utente sotto i titoli delle voci. Utile per account multipli o TAN multipli. + Keepass2Android: Trova una password Escludere voci scadute Opzioni Maiuscole e minuscole @@ -177,11 +193,47 @@ Inserisci gli ultimi %1$d caratteri della tua password: QuickUnlock! Chiudi database + Abilita QuickUnlock per impostazione predefinita + Definisce se QuickUnlock è attivato per impostazione predefinita o no. + Lunghezza della chiave QuickUnlock + Numero massimo di caratteri utilizzati come QuickUnlock password. + QuickUnlock fallito: password errata! + Directory dei file allegati + Directory in cui vengono salvati i file allegati. + Salva allegato + Si prega di scegliere dove salvare l\'allegato. + Salva su scheda SD + Salva sulla cache e apri + File salvato in %1$s. + Impossibile salvare l\'allegatto in %1$s. + Formato data/ora non valido per la data di scadenza! + Un nome di campo è richiesto per ogni stringa. + Nome del campo + Valore del campo + Campo protetto + Aggiungere il file allegato... + Aggiungere la stringa aggiuntiva + Eliminare la stringa aggiuntiva + Database caricato, QuickUnlock abilitato. + Immettere le credenziali del server + Operazioni di file + Utilizzare le transazioni file per la scrittura di database + Controlla per modifiche + Controlla se il file è stato modificato esternamente prima di salvare le modifiche. + Notifiche degli Appunti + Rendere accessibili attraverso la barra di notifica e appunti username e password. Fare attenzione agli sniffer di password! + Notifica di tastiera KP2A + Rendi accessibile dalla tastiera KP2A (raccomandato). + Finestra di dialogo Selezione tastiera + Apri la selezione tastiera quando è disponibile la tastiera KP2A dopo una ricerca. + Si desidera sovrascrivere il file binario esistente con lo stesso nome? Sovrascrivere il file binario esistente? Sovrascrivi Rinomina Impossibile aggiungere il file allegato. Cestino + Si desidera eliminare definitivamente questa voce? Premere No per riciclare. + Si desidera eliminare definitivamente questo gruppo? Premere No per riciclare. Elimina definitivamente? Ricaricare il file? Il file attualmente aperto è stato modificato da un altro programma. Si desidera ricaricarlo? @@ -190,6 +242,34 @@ Suggerire o valutare miglioramenti Valuta questa app Traduci KP2A + Aggiunta della voce… + Aggiunta del gruppo… + Eliminazione della voce... + Eliminazione del gruppo... + Impostazione della password… + Annullare le modifiche... + Trasformazione della chiave master... + Decodifica database... + Analisi del database... + Controllo file di destinazione per le modifiche... + Unire le modifiche? + Il file di database è stato modificato esternamente. Si desidera caricare e unire le modifiche prima di salvare? Selezionare No se si desidera sovrascrivere le modifiche esterne. + Unisco le modifiche... + Sì, unire + No, sovrascrivere + log delle modifiche + + Version 0.8.4\n + * Combiamenti al database esterno vengono rilevate ed unite durante il salvataggio\n + * Migliorate le performence in caricamento\n + * Migliorata la toolbar di ricerca con suggerimenti\n + * Nuovo logo dell\'App! + *Aggiunto supporto al formato .kdbp per apertura e salvataggio più veloci\n + * Migliorato l\'editing delle stringe aggiuntive e del display nascosto quando protetto\n + Grazie a Alex Vallat per il suo contributo al codice!\n + Grazie a Niki Hüttner (www.close-cut.de) per il logo!\n + + Aggiunta la possibilità di donare una birra o qualcos\'altro 30 secondi 1 minuto @@ -202,8 +282,8 @@ Grande - Do not remember username and password - Remember username only - Remember username and password + Non ricordare username e password + Ricorda solo il nome utente + Ricorda username e password diff --git a/src/keepass2android/Resources/values-nb/strings.xml b/src/keepass2android/Resources/values-nb/strings.xml index 4bb6c81a..8381d5c9 100644 --- a/src/keepass2android/Resources/values-nb/strings.xml +++ b/src/keepass2android/Resources/values-nb/strings.xml @@ -7,6 +7,7 @@ Brukergrensesnittet er basert på en port av KeepassDroid utviklet av Brian Pellin. Kildekode til databaseoperasjoner er basert på KeePass av Dominik Reichl. Android roboten, laget og delt av Google, er reprodusert og modifisert i henhold til Creative Commons 3.0 Navngivelse Lisensen. Godta Legg til post + Lag oppføring for URL Legg til gruppe Legg til gruppe Algoritme @@ -128,6 +129,7 @@ Åpne Gi nytt navn Søk + Avansert søk Gå til URL Minus Aldri @@ -163,6 +165,8 @@ Søk etter Søkeresultater Søk i + Velg en annen oppføring + Åpne ønsket gruppe, og trykk deretter \"%1$s\"! Twofish Understreking Ikke-støttet databaseversjon. @@ -173,6 +177,8 @@ Regulært uttrykk TAN utløper ved bruk Marker TAN oppføringer som utløpt når du bruker dem + Vis brukernavn i listen + Vis brukernavn under oppføringstitler. Nyttig for flere kontoer eller TANs. Keepass2Android: Finn passord Utelukk utløpte oppføringer Alternativer @@ -204,7 +210,7 @@ Et feltnavn kreves for hver streng. Feltnavn Feltverdi - Minnebeskyttelse + Beskyttet felt Legg til filvedlegg... Legg til ekstra streng Databasen er lastet, QuickUnlock er aktivert. @@ -215,6 +221,8 @@ Gjør brukernavn og passord er tilgjengelig gjennom varslingslinjen og utklippstavle. Vokt deg for passordsniffere! KP2A tastatur varsel Gjør hele oppføringen tilgjengelig gjennom KP2A tastaturet (anbefales). + Dialogboks for valg av tastatur + Åpne tastatur dialog når en oppføring er tilgjengelig gjennom KP2A tastaturet etter søk. Vil du overskrive den eksisterende binærfilen med samme navn? Overskrive eksisterende binærfil? Overskriv @@ -232,6 +240,7 @@ Vurder denne appen Oversett KP2A Endringslogg + Utvidet mulighet til å donere en øl, eller noe annet 30 sekunder 1 minutt diff --git a/src/keepass2android/Resources/values-pl/strings.xml b/src/keepass2android/Resources/values-pl/strings.xml index e7399a1c..9e350fa3 100644 --- a/src/keepass2android/Resources/values-pl/strings.xml +++ b/src/keepass2android/Resources/values-pl/strings.xml @@ -205,7 +205,6 @@ Niniejszy program jest wolnym oprogramowaniem; możesz go rozprowadzać dalej i/ Nazwa pola jest wymagana dla każdego ciągu znaków. Nazwa pola Wartość pola - Ochrona pamięci Dodaj załącznik... Dodać dodatkowy ciąg znaków Baza załadowana, Szybkie_Odblokowanie włączone. diff --git a/src/keepass2android/Resources/values-pt-rBR/strings.xml b/src/keepass2android/Resources/values-pt-rBR/strings.xml index 5d3b8573..11c4d5df 100644 --- a/src/keepass2android/Resources/values-pt-rBR/strings.xml +++ b/src/keepass2android/Resources/values-pt-rBR/strings.xml @@ -4,12 +4,18 @@ Comentários Página inicial Keepass2Android é uma implementação do gerenciador de senhas KeePass. + A Interface do usuário baseia-se no KeepassDroid desenvolvido por Brian Pellin. Código para manipulação do banco de dados baseia-se no KeePass por Dominik Reichl. O robô Android é reproduzido ou modificado do trabalho criado e compartilhado pelo Google e utilizado de acordo com os termos descritos na licença Creative Commons 3.0 Attribution License. Aceitar Adicionar entrada + Criar entrada para URL Adicionar grupo Adicionar Grupo Algoritmo Algoritmo + Keepass2Android + KP2A + Keepass2Android Offline + KP2A Offline Tempo limite para o aplicativo Tempo até que o banco de dados seja travado quando o aplicativo estiver inativo. Aplicação @@ -23,6 +29,9 @@ Tempo até limpar o clipboard após copiar usuário ou senha. Copiar usuário para o clipboard Copiar senha para o clipboard + Entrada está disponível através do teclado KP2A + Não foi possível abrir a caixa de diálogo para selecionar o método de entrada. Por favor, ative o teclado manualmente. + Por favor habilite o teclado do Keepass2Android nas configurações do seu sistema. Criando a chave do banco de dados… Grupo atual Grupo atual: Raiz @@ -30,22 +39,28 @@ Decifrando conteúdo do banco de dados… Decifrando entrada Usar este banco de dados como padrão - Digitos + Dígitos Keepass2Android vem com ABSOLUTAMENTE NENHUMA GARANTIA; Este é um software livre, e você está convidado a redistribui-lo sob as condições da GPL versão 2 ou posterior. + \u2026 Digite o nome do arquivo de banco de dados Acessado - Digite uma senha e/ ou entre com o caminho para o arquivo de chaves do banco de dados + Digite uma senha e/ou entre com o caminho para o arquivo chave do banco de dados Cancelar Comentários + Etiquetas + Substituir URL Confirmar senha Criado Expira - Arquivo de chave (opcional) + Arquivo chave (opcional) Modificado Senha Salvar Nome + URL Nome de usuário + Campos de texto extra + Anexos A cifra de fluxo ArcFour não é suportada. Keepass2Android não pôde tratar esta uri. Erro ao criar grupo. @@ -58,7 +73,7 @@ Banco de dados inválido. Caminho inválido. É necessário um nome. - São necessários uma senha ou um arquivo de chaves. + É necessário uma senha ou um arquivo chave. Foi atingida a capacidade máxima de memória do seu dispositivo ao carregar o banco de dados. O banco de dados pode ser muito grande para este dispositivo. Pelo menos um tipo de geração de senhas deve ser selecionado As senhas não combinam. @@ -73,22 +88,29 @@ comentário confirmar senha senha gerada - Nome do Grupo - arquivo de chave + Nome do grupo + arquivo chave tamanho senha Senha nome + url + substituir url + tag1, tag2 nome de usuário Instalar a partir do Google Play Instalar a partir da Web - Senha ou arquivo de chaves inválidos. + Senha ou arquivo chave inválidos. + Algoritmo inválido. O formato do banco de dados não foi reconhecido. + Arquivo chave não existe. + Arquivo chave está vazio. Tamanho Tamanho da lista de grupos Tamanho do texto na lista de grupos Carregando banco de dados… Letras minúsculas + ***** Esconder senha Esconder senha por padrão Sobre @@ -98,7 +120,8 @@ Criar Configurações Configurações do banco de dados - Deletar + Excluir + Doe uma cerveja... Editar Esconder Senha Ir para a página inicial @@ -106,9 +129,12 @@ Abrir Renomear Procurar + Pesquisa avançada Ir para URL Menos Nunca + Sim + Não Nenhuma entrada no grupo. Sem resultados na busca. Erro ao tratar url. @@ -119,25 +145,40 @@ Digite a senha do banco de dados Criando novo banco de dados… Trabalhando… - Lembrar o local dos arquivos de chave - Salvar arquivo de chave + Lembrar o local dos arquivos chave + Salvar arquivo chave Remover + Rijndael (AES) Raiz Rodadas de criptografia Maior número de rodadas de criptografia adiciona mais proteção contra ataques de força bruta, porém pode tornar o processo de carregar e salvar mais lentos. rodadas + Nome do banco de dados + Nome de usuário padrão para novas entradas Salvando banco de dados… - Spaço + Espaço Busca Mostrar senha Ordenar por nome - Ordenação do banco de dados + Ordenar por data de criação Caracteres Especiais + Resultado da busca + Procurar em + Selecionar outra entrada + Abra o grupo desejado e, em seguida, pressione \"%1$s\"! + Twofish + Sublinhado Versão de banco de dados não suportada. Letras maiúsculas Seu cartão SD está no modo de somente leitura. Talvez não seja possível salvar modificações ao banco de dados. Seu cartão SD não está montado no dispositivo. Não será possível carregar ou criar um banco de dados. Versão + Expressão regular + Mostrar nome de usuário na lista + Mostrar nome de usuário abaixo dos títulos das entradas. Útil para várias contas ou TANs. + Keepass2Android: Buscar senha + Opções + Abrir arquivo... 30 segundos 1 minuto diff --git a/src/keepass2android/Resources/values-ro/strings.xml b/src/keepass2android/Resources/values-ro/strings.xml index 5fa81e27..45f53e7c 100644 --- a/src/keepass2android/Resources/values-ro/strings.xml +++ b/src/keepass2android/Resources/values-ro/strings.xml @@ -129,6 +129,7 @@ Deschide Redenumește Căutare + Căutare avansată Du-te la URL-ul Minus Niciodată @@ -210,13 +211,16 @@ Este necesar un nume câmp pentru fiecare string. Numele câmpului Valoarea câmpului - Protecție memorie + Câmp protejat Ataşează fişier... Adaugă string adiţional + Şterge string adiţional Baza de date încărcată, QuickUnlock activat. Introduceți datele conectare la server Tranzacții fișier Foloseşte tranzacţii pentru a scrie bazele de date + Verifică modificări + Verifică dacă nu s-a modificat extern fişierul înainte de a salva. Notificări clipboard Oferă utilizatorul şi parolă folosind bara de notificări şi clipboard-ul. Atenţie la \"password sniffers\"! Notificare tastatură KP2A @@ -239,7 +243,31 @@ Propuneți sau votați pentru îmbunătățiri Evaluează această aplicație Traduce KP2A + Se adaugă înregistrarea… + Se adaugă grup… + Se şterge înregistrarea… + Se şterge grupul… + Se setează parola… + Se anulează modificările… + Se transformă cheia principală… + Se decodează baza de date… + Se parsează baza de date… + Se verifică fişierul ţintă pentru modificări… + Combinare modificări? + Fişierul bazei de date a fost modificat extern. Doriţi să încărcaţi şi să combinaţi modificările înainte de salvare. Selectaţi Nu dacă doriţi să suprascrieţi modificările externe. + Se combină modificările… + Da, combină + Nu, suprascrie Change log + Versiunea 0.8.4\n +* Modificările externe ale bazei de date sunt detectate şi combinate la salvare\n +* S-a îmbunătăţit performanţa la încărcare\n +* Bară de căutare îmbunătăţită cu sugestii\n +* Logo nou pentru aplicaţie!\n +* Adăugat suport pentru formatul .kdbp pentru încărcare/salvare rapidă\n +* S-a îmbunătăţit editarea câmpurilor extra şi s-a ascuns afişarea dacă sunt protejate\n +Mulţumiri lui Alex Vallat pentru contribuţiile sale la cod!\n +Mulţumiri lui Niki Hüttner (www.close-cut.de) pentru noul logo!\n Versiunea 0.8.3\n * index utilizator/TAN afişat în lista de înregistrări (vezi setări)\n * Înregistrările pot fi create dacă o căutare din browser nu găseşte rezultate\n diff --git a/src/keepass2android/Resources/values-ru/strings.xml b/src/keepass2android/Resources/values-ru/strings.xml index 4637b23b..7a868d19 100644 --- a/src/keepass2android/Resources/values-ru/strings.xml +++ b/src/keepass2android/Resources/values-ru/strings.xml @@ -129,6 +129,7 @@ Открыть Новое имя Поиск + Расширенный поиск Ссылка -Дефис- Никогда @@ -209,13 +210,16 @@ Имя поля обязательно для каждой строки. Имя поля Значение поля - Защита памяти + Защищённое поле Добавьте вложенный файл... Добавить дополнительную строку + Удалить дополнительную строку База данных загружен, БыстраяРазблокировка включена. Введите учетные данные сервера Файловые транзакции Использовать файловые транзакции для записи баз данных + Проверить на наличие изменений + Проверка был ли файл изменен извне до сохранения изменений. Уведомления буфера обмена Сделать имя пользователя и пароль доступными через панель уведомлений и буфер обмена. Остерегайтесь перехватчиков паролей! Уведомления клавиатуры KP2A @@ -238,7 +242,31 @@ Предложить или голосовать за улучшение Оцените это приложение Переведите KP2A + Добавление записи… + Добавление группы… + Удаление записи… + Удаление группы… + Установка пароля… + Отмена изменений… + Преобразование мастер-ключа… + Декодирование базы данных… + Анализ базы данных… + Проверка целевого файла на наличие изменений… + Слить изменения? + Файл базы данных был изменен извне. Вы хотите загрузить и выполнить слияние изменений перед сохранением? Выберите Нет, если вы хотите перезаписать внешние изменения. + Слияние изменений… + Да, объединить + Нет, перезаписать Список изменений + Версия 0.8.4\n +* Внешние модификации базы данных обнаруживаются и объединяются при сохранении\n +* Улучшена скорость загрузки\n +* Улучшенная панель поиска с подсказками\n +* Новый логотип приложения! \n +* Добавлена поддержка формата .kdbp для более быстрого чтения/записи\n +* Улучшено редактирование дополнительных записей и скрытие защищённых\n +Благодарю Alex Vallat за вклад в развитие кода!\n +Благодарю Niki Hüttner (www.close-cut.de) за новый логотип!\ Версия 0.8.3\n * Отображение имени пользователя/TAN в списке записей (см. в настройках)\n * Записи могут быть созданы, если поиск из браузера ничего не вернул\n diff --git a/src/keepass2android/Resources/values-sv/strings.xml b/src/keepass2android/Resources/values-sv/strings.xml index 11bc61de..7bc40ec0 100644 --- a/src/keepass2android/Resources/values-sv/strings.xml +++ b/src/keepass2android/Resources/values-sv/strings.xml @@ -1,20 +1,133 @@ + Återkoppling + Hemsida + Godkänn + Ny post + Ny grupp + Ny grupp + Algoritm + Algoritm + Keepass2Android + KP2A + Keepass2Android är nedkopplad + KP2A är nedkopplad + Tidsgräns för applikationen + Tid innan låsning av databasen när applikationen är inaktiv. + Applikation + Applikationsinställningar + Paranteser + Bygger sökindex... + Avbryt + Urklippshanteraren rensad. + Tidsgräns för utklipp + Kopiera användarnamnet till urklipp + Kopiera lösenordet till urklipp + Skapar databasnyckel... + Aktuell grupp + Aktuell grupp: Root + Databas + Dekrypterar databasinnehåll... + Dekryptera post + Använd detta som som standarddatabas + Siffror + Keepass2Android kommer HELT UTAN GARANTIER; Detta är fri programvara och du är välkommen att distribuera den utifrån villkoren i GPL version 2 eller senare. + \u2026 + Avbryt + Kommentarer + Taggar + Bekräfta lösenord + Skapad + Upphör + Nyckelfil (valfri) + Ändrad + Lösenord + Spara + Namn + URL + Användarnamn + Bifogade filer + Fel vid skapande av grupp. + Filen finns redan. + Ogiltig databas. + Ogiltig sökväg. + Det krävs ett lösenord eller en nyckelfil. + Lösenorden stämmer inte överrens. + Antalet rundor måste vara en siffra. + Antalet rundor är för stort. Sätter värdet till 2147483648. + Hittar inte filen. + Grupp + kommentar + Gruppnamn + längd + lösenord + Lösenord + namn + url + användarnamn + Installera från Play Store + Längd + ***** + Om + Kopiera lösenord + Kopiera användarnamn + Skapa + Inställningar + Databasinställningar + Radera + Donera en öl... + Ändra + Dölj lösenord + Gå till hemsida + Lås databasen + Öppna + Byt namn + Sök + Gå till URL + Minus + Aldrig + Ja + Nej + Arbetar... + Root + rundor + Sparar databasen... + Utrymme + Sök + Sortera efter namn + Sortera efter datum + Sökresultat + Sök i + Välj en annan post + Twofish + Understruken + Versaler + Version + Alternativ + Öppna URL... + Aktivera QuickUnlock + QuickUnlock! + Spara bilaga + Spara till SD-kort + Fältnamn + Värdet i fältet + Översätt KP2A + Ändringslogg - 30 seconds - 1 minute - 5 minutes - Never + 30 sekunder + 1 minut + 5 minuter + Aldrig - Small + Liten Medium - Large + Stor Do not remember username and password Remember username only - Remember username and password + Kom ihåg användarnamn och lösenord diff --git a/src/keepass2android/Resources/values-zh-rCN/strings.xml b/src/keepass2android/Resources/values-zh-rCN/strings.xml index 38350ce9..fca748fe 100644 --- a/src/keepass2android/Resources/values-zh-rCN/strings.xml +++ b/src/keepass2android/Resources/values-zh-rCN/strings.xml @@ -7,6 +7,7 @@ 用户界面基于由 Brian Pellin 开发的 KeepassDroid 移植过来的。数据库操作的代码基于Dominik Reichl的KeePass。Android 机器人是转载或修改从工作创建和共享的谷歌和使用根据创作共用 3.0 归属许可证中所述的条款。 接受 添加条目 + 为 URL 创建条目 添加群组 添加群组 算法 @@ -28,6 +29,9 @@ 复制用户名或密码到剪贴板后清除的时间 复制用户名到剪贴板 复制密码到剪贴板 + 可通过 KP2A 键盘获得条目 + 无法打开输入法选择对话框,请手动激活键盘 + 请在系统设置中启用Keepass2Android 键盘 创建数据库密钥… 当前群组: 当前群组:Root @@ -37,6 +41,7 @@ 使用这做为我的默认数据库 数字 Keepass2Android版权归Philipp Crocoll;软件不带有绝对担保;是自由软件,您可在遵循GPL 2或者更高版本的情况下重新发布。 + \u2026 输入数据库名: 访问时间: 输入密码和/或一个密钥文件来解锁你的数据库: @@ -116,6 +121,7 @@ 设置 数据库设置 删除 + 捐出一瓶啤酒钱...... 编辑 隐藏密码 到主页 @@ -123,6 +129,7 @@ 打开 重命名 搜索 + 高级搜索 到网址 从不 @@ -146,6 +153,7 @@ 加密次数 更高级的加密次数对暴力攻击能提供额外保护,但也会增加加载和保存的时间。 次数 + 数据库名称 新条目的默认用户名 正在保存数据库… 空格 @@ -157,6 +165,8 @@ 查找内容 搜索结果 在...中搜索 + 选择另一条目 + 打开所需的组,然后按\"%1$ s\"! Twofish算法 下划线 不支持的数据库版本 @@ -166,6 +176,9 @@ 版本 正则表达式 TAN 使用到期 + 标记TAN条目过期当使用它们时 + 在列表中显示用户名 + 在条目标题下方显示用户名,对多账户或TANs 很有用 Keepass2Android: 查找密码 排除过期的条目 选项 @@ -187,20 +200,33 @@ 解锁失败:密码错误! 文件附件目录 附件所保存到的目录位置 + 保存附件 + 请选择保存该附件的位置。 + 保存到 SD 卡 + 保存到缓存并打开 保存文件到 %1$ s。 无法保存附件到 %1$s 有效期限日期/时间格式有误! 每个字符串的字段名称是必需的 字段名 字段值 - 记忆保护 + 受保护的字段 添加附件... 添加额外的字符串 + 删除额外的字符串 数据库载入,快速解锁启用。 输入服务器的证书 文件交易记录 使用 file transactions 来写数据库 + 检查修改 + 检查文件是否在保存变更之前被外部修改 + 剪贴板的通知 + 使用户名和密码可通过通知栏和剪贴板访问。谨防密码嗅探器 ! + KP2A 键盘通知 + 使整个条目可通过 KP2A 键盘获取 (推荐)。 + 键盘选择对话框 + 在搜索之后打开键盘对话框当条目对KP2A 键盘可用 是否要以相同的名字覆盖现有的文件? 覆盖已存在的文件? 覆盖 @@ -217,7 +243,33 @@ 建议或投票改进 评价这款应用 翻译 KP2A + 添加条目... + 添加组... + 删除条目... + 删除组... + 设置密码... + 撤消更改... + 变更主键... + 解码数据库... + 解析数据库... + 检查目标文件的更改... + 合并更改吗? + 数据库文件被外目修改.你想在保存之前载入并合并已有的更改吗?如果你想覆盖外部更改选择\"不\" + 合并更改... + 是的,合并 + 不,覆盖 更新记录 + 版本 0.8.4 +*当数据库被外部更改时可被检测与合并\n +*提高载入性能\n +*搜索工具栏补全建议\n +*新logo +*添加 .kdbp 格式更快的载入/保存支持\n +*提高额外字符串的编辑,当被保护时可隐藏显示\n +*感谢Alex Vallat的代码贡献\n +*感谢Niki Hüttner(www.close-cut.de) 的新logo\n +*感谢lucifineil 的中文翻译 + Version 0.6.2\n * Google Drive/Dropbox/... 集成: 使用官方 Google Drive or Dropbox 程序并打开任何 .kdbx-file. 将在将来的版本出现.\n * 改善搜索对话框 \n diff --git a/src/keepass2android/Resources/values/strings.xml b/src/keepass2android/Resources/values/strings.xml index 0d99abb6..8f4505a0 100644 --- a/src/keepass2android/Resources/values/strings.xml +++ b/src/keepass2android/Resources/values/strings.xml @@ -258,6 +258,8 @@ Merge changes? The database file was modified externally. Do you want to load and merge the changes before saving? Select No if you want to overwrite the external changes. Merging changes… + Yes, merge + No, overwrite Change log @@ -265,9 +267,11 @@ * External database changes are detected and merged when saving\n * Improved loading performance\n * Improved search toolbar with suggestions\n + * New App logo! * Added support for .kdbp format for faster loading/saving\n * Improved editing of extra strings and hidden display when protected\n Thanks to Alex Vallat for his code contributions!\n + Thanks to Niki Hüttner (www.close-cut.de) for the new logo!\n Version 0.8.3\n * Username/TAN index displayed in entry list (see settings)\n diff --git a/src/keepass2android/Resources/xml/searchable.xml b/src/keepass2android/Resources/xml/searchable.xml index 1730f33a..13975ab2 100644 --- a/src/keepass2android/Resources/xml/searchable.xml +++ b/src/keepass2android/Resources/xml/searchable.xml @@ -21,7 +21,7 @@ android:label="@string/search_label" android:hint="@string/search_hint" android:searchMode="showSearchLabelAsBadge" - android:searchSuggestAuthority="keepass2android.search.SearchProvider" + android:searchSuggestAuthority="keepass2android.keepass2android.SearchProvider" android:searchSuggestSelection=" ?" android:searchSuggestThreshold="2" android:searchSuggestIntentAction="android.intent.action.VIEW" diff --git a/src/keepass2android/Resources/xml/searchable_offline.xml b/src/keepass2android/Resources/xml/searchable_offline.xml new file mode 100644 index 00000000..1f2a5e18 --- /dev/null +++ b/src/keepass2android/Resources/xml/searchable_offline.xml @@ -0,0 +1,29 @@ + + + \ No newline at end of file diff --git a/src/keepass2android/app/App.cs b/src/keepass2android/app/App.cs index d4fe0ff0..7e29b3d6 100644 --- a/src/keepass2android/app/App.cs +++ b/src/keepass2android/app/App.cs @@ -36,6 +36,9 @@ namespace keepass2android public const string AppNameShort = "@string/short_app_name_nonet"; public const string AppLauncherTitle = "@string/short_app_name_nonet"; public const string PackagePart = "keepass2android_nonet"; + public const int LauncherIcon = Resource.Drawable.ic_launcher_offline; + + public const string Searchable = "@xml/searchable_offline"; } #else /// @@ -47,6 +50,8 @@ namespace keepass2android public const string AppNameShort = "@string/short_app_name"; public const string AppLauncherTitle = "@string/app_name"; public const string PackagePart = "keepass2android"; + public const int LauncherIcon = Resource.Drawable.ic_launcher; + public const string Searchable = "@xml/searchable"; } #endif /// @@ -159,8 +164,19 @@ namespace keepass2android return Application.Context.GetString((int)field.GetValue(null)); } + public void AskYesNoCancel(UiStringKey titleKey, UiStringKey messageKey, + EventHandler yesHandler, + EventHandler noHandler, + EventHandler cancelHandler, + Context ctx) + { + AskYesNoCancel(titleKey, messageKey, UiStringKey.yes, UiStringKey.no, + yesHandler, noHandler, cancelHandler, ctx); + } + public void AskYesNoCancel(UiStringKey titleKey, UiStringKey messageKey, - EventHandler yesHandler, + UiStringKey yesString, UiStringKey noString, + EventHandler yesHandler, EventHandler noHandler, EventHandler cancelHandler, Context ctx) @@ -173,9 +189,9 @@ namespace keepass2android builder.SetMessage(GetResourceString(messageKey)); - builder.SetPositiveButton(Resource.String.yes, yesHandler); + builder.SetPositiveButton(GetResourceString(yesString), yesHandler); - builder.SetNegativeButton(Resource.String.no, noHandler); + builder.SetNegativeButton(GetResourceString(noString), noHandler); builder.SetNeutralButton(ctx.GetString(Android.Resource.String.Cancel), cancelHandler); @@ -295,7 +311,21 @@ namespace keepass2android Kp2aLog.Log("Creating application "+PackageName+". Version=" + PackageManager.GetPackageInfo(PackageName, 0).VersionCode); Kp2a.OnCreate(this); - + AndroidEnvironment.UnhandledExceptionRaiser += MyApp_UnhandledExceptionHandler; + } + + + void MyApp_UnhandledExceptionHandler(object sender, RaiseThrowableEventArgs e) + { + Kp2aLog.Log(e.Exception.ToString()); + // Do your error handling here. + throw e.Exception; + } + + protected override void Dispose(bool disposing) + { + AndroidEnvironment.UnhandledExceptionRaiser -= MyApp_UnhandledExceptionHandler; + base.Dispose(disposing); } public override void OnTerminate() { diff --git a/src/keepass2android/keepass2android.csproj b/src/keepass2android/keepass2android.csproj index a86ce8aa..0a63549a 100644 --- a/src/keepass2android/keepass2android.csproj +++ b/src/keepass2android/keepass2android.csproj @@ -145,6 +145,7 @@ + False @@ -372,7 +373,6 @@ Designer - Designer @@ -683,4 +683,24 @@ PreserveNewest + + + + + + + + + + + + + + + + + + Designer + + \ No newline at end of file diff --git a/src/keepass2android/search/SearchProvider.cs b/src/keepass2android/search/SearchProvider.cs index 07c78c16..d2282cb0 100644 --- a/src/keepass2android/search/SearchProvider.cs +++ b/src/keepass2android/search/SearchProvider.cs @@ -41,7 +41,7 @@ namespace keepass2android.search GetIcon, GetSuggestions } - public const string Authority = "keepass2android.search.SearchProvider"; + public const String Authority = "keepass2android." + AppNames.PackagePart + ".SearchProvider"; private const string GetIconPathQuery = "get_icon"; private const string IconIdParameter = "IconId"; diff --git a/src/keepass2android/search/SearchResults.cs b/src/keepass2android/search/SearchResults.cs index 56920186..256bd133 100644 --- a/src/keepass2android/search/SearchResults.cs +++ b/src/keepass2android/search/SearchResults.cs @@ -30,7 +30,7 @@ namespace keepass2android.search /// Activity to show search results /// [Activity (Label = "@string/app_name", Theme="@style/NoTitleBar", LaunchMode=Android.Content.PM.LaunchMode.SingleTop)] - [MetaData("android.app.searchable",Resource="@xml/searchable")] + [MetaData("android.app.searchable",Resource=AppNames.Searchable)] [IntentFilter(new[]{Intent.ActionSearch}, Categories=new[]{Intent.CategoryDefault})] public class SearchResults : GroupBaseActivity { diff --git a/src/keepass2android/services/QuickUnlockForegroundService.cs b/src/keepass2android/services/QuickUnlockForegroundService.cs index 8c8e7869..a3d3b813 100644 --- a/src/keepass2android/services/QuickUnlockForegroundService.cs +++ b/src/keepass2android/services/QuickUnlockForegroundService.cs @@ -45,7 +45,7 @@ namespace keepass2android NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .SetSmallIcon(Resource.Drawable.ic_launcher_gray) - .SetLargeIcon(BitmapFactory.DecodeResource(Resources, Resource.Drawable.ic_launcher)) + .SetLargeIcon(BitmapFactory.DecodeResource(Resources, AppNames.LauncherIcon)) .SetContentTitle(GetText(Resource.String.app_name)) .SetContentText(GetText(Resource.String.database_loaded_quickunlock_enabled)); diff --git a/src/keepass2android/timeout/TimeoutHelper.cs b/src/keepass2android/timeout/TimeoutHelper.cs index 5075e25f..107a80bd 100644 --- a/src/keepass2android/timeout/TimeoutHelper.cs +++ b/src/keepass2android/timeout/TimeoutHelper.cs @@ -29,12 +29,11 @@ namespace keepass2android /// public class TimeoutHelper { - class Timeout + private static class Timeout { private const int RequestId = 0; private const long DefaultTimeout = 5 * 60 * 1000; // 5 minutes - private const String Tag = "Keepass2Android Timeout"; - + private static PendingIntent BuildIntent(Context ctx) { Intent intent = new Intent(Intents.Timeout); @@ -67,7 +66,7 @@ namespace keepass2android long triggerTime = Java.Lang.JavaSystem.CurrentTimeMillis() + timeout; AlarmManager am = (AlarmManager)ctx.GetSystemService(Context.AlarmService); - Log.Debug(Tag, "Timeout start"); + Kp2aLog.Log("Timeout start"); am.Set(AlarmType.Rtc, triggerTime, BuildIntent(ctx)); } @@ -75,7 +74,7 @@ namespace keepass2android { AlarmManager am = (AlarmManager)ctx.GetSystemService(Context.AlarmService); - Log.Debug(Tag, "Timeout cancel"); + Kp2aLog.Log("Timeout cancel"); am.Cancel(BuildIntent(ctx)); ctx.StopService(new Intent(ctx, typeof(TimeoutService))); @@ -91,6 +90,8 @@ namespace keepass2android ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(act); ISharedPreferencesEditor edit = prefs.Edit(); edit.PutLong(act.GetString(Resource.String.timeout_key), time); + + Kp2aLog.Log("Pause: start at " + time); EditorCompat.Apply(edit); @@ -111,6 +112,7 @@ namespace keepass2android ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(act); long timeoutStart = prefs.GetLong(act.GetString(Resource.String.timeout_key), -1); + Kp2aLog.Log("timeoutStart=" + timeoutStart); // The timeout never started if (timeoutStart == -1) { return; @@ -119,16 +121,23 @@ namespace keepass2android String sTimeout = prefs.GetString(act.GetString(Resource.String.app_timeout_key), act.GetString(Resource.String.clipboard_timeout_default)); long timeout; - if (!long.TryParse(sTimeout, out timeout)) + if (!long.TryParse(sTimeout, out timeout) || (timeout == -1)) { + Kp2aLog.Log("exit with timeout=" + timeout + "/"+sTimeout); // We are set to never timeout return; } long diff = curTime - timeoutStart; - if (diff >= timeout) { + if (diff >= timeout) + { // We have timed out - App.Kp2a.SetShutdown(); + Kp2aLog.Log("Shutdown due to " + diff + ">=" + timeout); + App.Kp2a.SetShutdown(); + } + else + { + Kp2aLog.Log("No shutdown due to " + diff + "<" + timeout); } } diff --git a/src/kp2akeytransform/kp2akeytransform.csproj b/src/kp2akeytransform/kp2akeytransform.csproj index fb1fefd7..bc12f082 100644 --- a/src/kp2akeytransform/kp2akeytransform.csproj +++ b/src/kp2akeytransform/kp2akeytransform.csproj @@ -1,4 +1,4 @@ - + Debug @@ -34,6 +34,13 @@ False SdkOnly + + bin\ReleaseNoNet\ + true + AnyCPU + prompt + MinimumRecommendedRules.ruleset + @@ -62,12 +69,7 @@ - - - - - - + Jars\kp2akeytransform.jar diff --git a/src/monodroid-unittesting/MonoDroidUnitTesting/MonoDroidUnitTesting.csproj b/src/monodroid-unittesting/MonoDroidUnitTesting/MonoDroidUnitTesting.csproj index 11e4f1a3..f7d79f29 100644 --- a/src/monodroid-unittesting/MonoDroidUnitTesting/MonoDroidUnitTesting.csproj +++ b/src/monodroid-unittesting/MonoDroidUnitTesting/MonoDroidUnitTesting.csproj @@ -35,6 +35,16 @@ prompt 4 + + bin\ReleaseNoNet\ + TRACE + true + pdbonly + AnyCPU + Off + prompt + MinimumRecommendedRules.ruleset +